Skip to content

TypeORM 数据库连接

配置链接: App 模块下:

ts
@Module({
  imports: [
    ConfigModule.forRoot({
      isGlobal: true,
      load: [() => dotenv.config({ path: '.env' })],
      validationSchema: Joi.object({
        internalConfig: Joi.object({
          app: Joi.number().required(),
        }),
      }),
    }),
    TypeOrmModule.forRootAsync({
      imports: [ConfigModule],
      inject: [ConfigService],
      useFactory: (ConfigService: ConfigService) => ({
        type: ConfigService.get('DB_TYPE'),
        host: ConfigService.get('DB_HOST'),
        port: ConfigService.get('DB_PORT'),
        username: ConfigService.get('DB_USERNAME'),
        password: ConfigService.get('DB_PASSWORD'),
        database: ConfigService.get('DB_DATABASE'),
        entities: [],
        synchronize: true,
        logging: ['error']
      } as TypeOrmModuleOptions)
    }),

    UserModule,
  ],
  controllers: [],
  providers: [],
})
export class AppModule {}

@Entity 修饰实体类

使用@Entity()装饰器来标记一个类为实体,这样TypeORM(或其他ORM框架)就可以根据这个类的定义来创建或操作数据库表。