Как достать типы модели sequelize для TS?

Чтобы получить типы модели Sequelize для TypeScript, можно воспользоваться пакетом sequelize-typescript, который предоставляет декораторы для определения моделей Sequelize в TypeScript. Вот пошаговая инструкция:

1. Установите необходимые пакеты:

   npm install sequelize sequelize-typescript @types/sequelize --save

2. Определите модель, используя декораторы из sequelize-typescript. Например:

   import { Table, Column, Model, DataType } from 'sequelize-typescript';

   @Table
   export class User extends Model<User> {
       @Column(DataType.STRING)
       name!: string;

       @Column(DataType.STRING)
       email!: string;

       @Column(DataType.DATE)
       birthdate!: Date;
   }

3. Создайте экземпляр Sequelize и добавьте определенную модель:

   import { Sequelize } from 'sequelize-typescript';

   const sequelize = new Sequelize({
       database: 'mydb',
       username: 'user',
       password: 'password',
       dialect: 'mysql',
   });

   sequelize.addModels([User]);

4. Теперь у вас есть доступ к типам модели User в TypeScript. Например, можно использовать типы для определения аргументов функций или переменных:

   const userData: Partial<User> = { name: 'Alice', email: '[email protected]' };
   const newUser: User = User.build(userData);

Это позволит вам получить автодополнение и проверку типов при работе с моделями Sequelize в TypeScript. Помимо этого, sequelize-typescript также предоставляет возможность использовать типы для ассоциаций между моделями и другие удобные функции при работе с базой данных.