类型错误:sequelize.transaction 不是函数

5 node.js sequelize.js

我收到错误: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().