实例"/>
无法使用TypeScript导入Sequelize模型:错误:没有传递Sequelize实例
我的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]
});
更多推荐
无法使用TypeScript导入Sequelize模型:错误:没有传递Sequelize实例
发布评论