typescript NestJS上Sequelize中的事务管理

fhg3lkii  于 2023-06-24  发布在  TypeScript
关注(0)|答案(2)|浏览(171)

我在 typescript 中集成了sequelize ORM。我的数据库已成功连接,甚至查询也在工作。现在我需要在我的应用程序中使用transactions,但是没有明确的文档说明如何在nestjs上使用它。
我试图通过隔离连接来集成事务,但似乎行不通。
在我的app.module中,我为root创建了sequelize配置

  1. @Module({
  2. imports: [
  3. SequelizeModule.forRoot({
  4. dialect: 'mysql',
  5. host: 'localhost',
  6. port: 3306,
  7. username: Config.db_userName,
  8. // password: Config.db_password,
  9. database: "myDbName",
  10. autoLoadModels: true,
  11. models: []
  12. }),
  13. myModule],
  14. controllers: [AppController],
  15. providers: [AppService],

在我的service.ts文件中,我有下面的构造函数试图使用sequelize的连接

  1. @InjectConnection()
  2. private sequelize: Sequelize,

之后,我试图使用这个。sequelize。transaction它没有给我任何错误的代码。而是编译之后。收到此错误

  1. this.sequelize.transaction() is not a function
wr98u20j

wr98u20j1#

显然我们不需要为续集注入连接。它已经有了续集的共享示例。我们只需要在构造函数中使用这1行。

  1. private sequelize: Sequelize

删除injectConnection()装饰器。
希望以后能对别人有所帮助

3bygqnnd

3bygqnnd2#

我有一个问题:

  1. private sequelize: Sequelize

然后我意识到,我使用了错误的Sequelize导入(从“sequelize”)。这个进口为我工作。

  1. import { Sequelize } from "sequelize-typescript"

也许会对别人有帮助:)

相关问题