где я могу указать скомпилированную миграцию - PullRequest
0 голосов
/ 24 апреля 2018

Я использую базу данных ORG sequelize для базы данных postgres, и я использую машинопись в качестве внутреннего сценария для в выражении nodeJs.

Первый вопрос: есть ли способ создать модель непосредственно для .ts?

Второй вопрос: при попытке перенести базу данных я получаю следующее сообщение:

"Файл: 20180424170257-create-todo.ts не соответствует шаблону: /.js$/"

Где я могу указать скомпилированную миграцию?

Спасибо.

1 Ответ

0 голосов
/ 24 апреля 2018

Sequelize не поставляется с собственными определениями типов, поэтому для их добавления вам необходимо установить их из DefinitiveTyped

npm install @types/sequelize

Вы можете создать модель непосредственно с этими определениями типов на месте.Например, вы можете проверить тесты sequelize.d.ts

Похоже на

interface TaskAttributes {
    revision? : number;
    name? : string;
}

// For your instance methods
interface TaskInstance extends Sequelize.Instance<TaskAttributes> {
    upRevision(): void { ... };
}

const GTask = s.define<TaskInstance, TaskAttributes>( 'task', { 
    revision : Sequelize.INTEGER, 
    name : Sequelize.STRING 
} );

Что касается вашего второго вопроса. Umzug использует простые файлы JS для ваших миграций, поэтому вам придется либо скомпилировать их в файлы JS, а затем использовать их (на этапе сборки, прежде чем запускать миграции), либо просто написать их на JavaScript ине TypeScript.

...