[英]Error("No Sequelize instance passed") No Sequelize instance passed
[英]Can't import Sequelize models with TypeScript: Error: No Sequelize instance passed
我的user.model.ts
是:
@Table
export class User extends Model<User> {
@Column({ allowNull: false })
firstName: string;
@Column({ allowNull: false })
lastName: string;
...
当我尝试导入它时:
const sequelize = new Sequelize(DB_CREDENTIALS_PARSED.database, DB_CREDENTIALS_PARSED.username, DB_CREDENTIALS_PARSED.password, { dialect: 'postgres' })
const modelFile = require(path.join(modelPath, 'user.model')).User.init({ sequelize })
console.log(modelFile)
我收到一个错误: Error: No Sequelize instance passed
我究竟做错了什么?
sequelize 实例必须在init
方法的第二个参数中传递
const User = require(path.join(modelPath, 'user.model'));
const sequelize = new Sequelize(
DB_CREDENTIALS_PARSED.database,
DB_CREDENTIALS_PARSED.username,
DB_CREDENTIALS_PARSED.password, {
dialect: 'postgres'
}
)
User.init(modelAttributesObject, { sequelize })
但是当您使用续集 TypeScript 时,您可以使用实例初始化模型
const User = require(path.join(modelPath, 'user.model'));
const sequelize = sequelize = new Sequelize({
dialect: 'postgres',
database: DB_CREDENTIALS_PARSED.database,
username: DB_CREDENTIALS_PARSED.username,
password: DB_CREDENTIALS_PARSED.database,
models: [User]
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.