typescript NestJS上Sequelize中的事务管理

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

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

@Module({

imports: [
    SequelizeModule.forRoot({
      dialect: 'mysql',
      host: 'localhost',
      port: 3306,
      username: Config.db_userName,
     // password: Config.db_password,
      database: "myDbName",
      autoLoadModels: true,
      models: []
    }),
  myModule],
  controllers: [AppController],
  providers: [AppService],

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

@InjectConnection()
private sequelize: Sequelize,

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

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

wr98u20j1#

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

private sequelize: Sequelize

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

3bygqnnd

3bygqnnd2#

我有一个问题:

private sequelize: Sequelize

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

import { Sequelize } from "sequelize-typescript"

也许会对别人有帮助:)

相关问题