如何通过NestJS为所有TypeORM连接设置角色? -火山引擎

面向开发者的云福利中心,ECS9.9元起,域名1元起,助力开发者快速在云上构建应用

域名注册服务

com/cn热门域名1元起,实名认证即享
1 . 00 / 首年起 66.00/首年起
新客专享 限购1个

云服务器共享型1核2G

超强性价比,适合个人、测试等场景使用
9 . 90 / 101.00/月
新客专享 限购1台

CDN国内流量包100G

同时抵扣两种流量消耗,加速分发更实惠
2 . 00 / 20.00/年
新客专享 限购1个

DigiCert证书免费领取

1年内申请20本免费证书,适用网站测试
0 . 00 / 首年 0.00/首年
新老同享 限领20本

如何通过NestJS为所有TypeORM连接设置角色? -相关文档

使用TypeORM的官方文档中提供的方法,为所有TypeORM连接设置角色。示例代码如下:

import { TypeOrmModuleOptions } from '@nestjs/typeorm';
import { TypeOrmOptionsFactory } from '@nestjs/typeorm';
import { Injectable } from '@nestjs/common';
@Injectable()
export class TypeOrmConfigService implements TypeOrmOptionsFactory {
  createTypeOrmOptions(): TypeOrmModuleOptions {
    return {
      type: 'postgres',
      host: 'localhost',
      port: 5432,
      username: 'postgres',
      password: 'password',
      database: 'my_db',
      entities: ['dist/**/*.entity{.ts,.js}'],
      synchronize: true,
      migrationsTableName: 'custom_migration_table_name',
      migrations: ['dist/migrations/*.js'],
      migrationsRun: true,
      cli: {
        migrationsDir: 'src/migrations',
      role: 'my_role'

在上面的示例代码中,我们在TypeOrmConfigService类中实现TypeOrmOptionsFactory接口并重写createTypeOrmOptions方法。我们在这里为所有TypeORM连接设置了一个角色名为my_role

接下来,我们需要将TypeOrmModule的导入中添加一个.forRootAsync()方法,并将该方法的参数设置为前面创建的TypeOrmConfigService类,示例如下:

import { TypeOrmModule } from '@nestjs/typeorm';
import { TypeOrmConfigService } from './typeorm-config.service';
@Module({
  imports: [TypeOrmModule.forRootAsync({
    useClass: TypeOrmConfigService
export class AppModule {}

这样就完成了在NestJS中为所有TypeORM连接设置角色的操作。

免责声明
本文内容通过AI工具匹配关键字智能整合而成,仅供参考,火山引擎不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系 service@volcengine.com 进行反馈,火山引擎收到您的反馈后将及时答复和处理。

如何通过NestJS为所有TypeORM连接设置角色? -优选内容

如何通过NestJS为所有TypeORM连接设置角色? -相关内容

火山引擎最新活动

火种计划
爆款增长产品免费试用
了解详情
火山引擎·增长动力
助力企业快速增长
了解详情
数据智能VeDI
易用的高性能大数据产品家族
了解详情
新用户特惠专场
云服务器9.9元限量秒杀
查看活动