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

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

  1. Установите необходимые пакеты:
   npm install sequelize sequelize-typescript @types/sequelize --save
  1. Определите модель, используя декораторы из 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;
   }
  1. Создайте экземпляр Sequelize и добавьте определенную модель:
   import { Sequelize } from 'sequelize-typescript';

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

   sequelize.addModels([User]);
  1. Теперь у вас есть доступ к типам модели User в TypeScript. Например, можно использовать типы для определения аргументов функций или переменных:
   const userData: Partial<User> = { name: 'Alice', email: 'alice@example.com' };
   const newUser: User = User.build(userData);

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