我正在使用postgres数据库ORM sequelize,我正在使用typescript作为快递nodeJs的后端脚本。
第一个问题:有没有办法直接创建模型到.ts?
第二个问题:尝试迁移数据库时,我收到此消息:
“文件:20180424170257-create-todo.ts与模式不匹配:/。js $ /”
我在哪里可以指定已编译的迁移?
感谢。
答案 0 :(得分:0)
Sequelize没有附带它自己的类型定义,所以为了添加它们,你需要从DefinitelyTyped安装它们
npm install @types/sequelize
您可以直接使用这些类型定义创建模型。例如,您可以查看tests of 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编写它们