如何在sequelize Nest.JS中添加钩子



throw new model_not_initialized_error_1。ModelNotInitializedError(this,Member "${key}" cannot be called.);^错误:模型未初始化:Member "afterCreate"不能叫。"User"需要添加到Sequelize实例。

@Table({
tableName: 'users',
})
export class User extends Model<User> {
@Column({
type: DataType.STRING,
allowNull: false,
})
first_name: string;
....
}
User.afterCreate(async (user, options) => {
console.log('New User created:');
console.log(user.first_name);
console.log(user.email);
});

我猜对了,你用的是sequelize-typescript。如果是,那么你需要使用另一种方法来定义钩子。

import { AfterCreate, Table, Model } from 'sequelize-typescript';
@Table
export default class User extends Model {
// ... definition of your columns and other model-related stuff
@AfterCreate
static methodName(instance: User) {
// do something
}
}

您可以在sequelize-typescript的npm包页面上阅读更多内容。

最新更新