我收到错误:TypeError: sequelize.transaction is not a function.使用 4.x
const sequelize = require('sequelize');
await sequelize.transaction(async (transaction) => {
await ProjectFile.destroy({
where: projectId,
}
}, { transaction });
});
Run Code Online (Sandbox Code Playgroud)
Wil*_*pes 10
事务对象在您的连接器内。
因此,要调用事务,您需要先通知连接,如下所示:
const databaseConfig = {
dialect: process.env.DB_TYPE,
host: process.env.DB_HOST,
username: process.env.DB_USER,
password: process.env.DB_PASS,
database: process.env.DB_NAME,
};
this.connection = new Sequelize(databaseConfig);
Run Code Online (Sandbox Code Playgroud)
databseConfig之前设置的配置在哪里。
然后,在您的互动中:
const t = await database.connection.transaction();
await ProjectFile.destroy({
where: projectId,
}
}, { transaction: t });
// If everything ok
t.commit();
// otherwise
t.rollback();
Run Code Online (Sandbox Code Playgroud)
而且,通过这种方式,您可以在执行commit().
| 归档时间: |
|
| 查看次数: |
2383 次 |
| 最近记录: |