nestjs 使用 prisma 如何使用 @nestjs/config 进行配置数据库?

nestjs 使用 prisma 如何使用 @nestjs/config 进行配置数据库?

阅读 751
1 个回答
新手上路,请多包涵

首先,确保您已经安装了 "@nestjs/config" 和 "prisma" 依赖包。
在根目录下创建一个名为 "config" 的文件夹(如果还没有)。
在 "config" 文件夹中创建一个名为 "database.config.ts"的 TypeScript 配置文件。
在文件中,使用 "@nestjs/config" 提供的装饰器和配置选项定义数据库相关的配置。以下是一个示例配置文件的基本结构:

import { registerAs } from '@nestjs/config';

export default registerAs('database', () => ({
  host: process.env.DB_HOST,
  port: parseInt(process.env.DB_PORT, 10),
  username: process.env.DB_USERNAME,
  password: process.env.DB_PASSWORD,
  database: process.env.DB_DATABASE,
}));

在应用的根模块(通常是 app.module.ts)中,使用 "@nestjs/config" 模块的 ConfigModule 导入和配置数据库相关的配置。以下是一个示例:

import { Module } from '@nestjs/common';
import { ConfigModule, ConfigService } from '@nestjs/config';
import databaseConfig from './config/database.config';
import { PrismaService } from './prisma.service';

@Module({
  imports: [
    ConfigModule.forRoot({
      load: [databaseConfig],
    }),
  ],
  providers: [ConfigService, PrismaService],
})
export class AppModule {}

再创建一个名为 "prisma.service.ts" 的服务文件,用于创建和导出 Prisma 客户端实例。
我们需要一个 PrismaService 服务,并在其构造函数中使用 ConfigService 来获取配置信息。我们通过实例化 PrismaClient 类来创建 Prisma 客户端实例,并在 onModuleDestroy 方法中断开连接以释放资源。

现在,可以在其他模块或服务中注入 PrismaService,并使用 Prisma 客户端进行数据库操作。

这样就可以使用 "@nestjs/config" 进行数据库配置,并结合 Prisma 在 NestJS 应用中进行数据库操作了。请确保在运行应用之前设置正确的环境变量或在 ".env" 文件中存储配置值。

推荐问题
logo
Microsoft
子站问答
访问
宣传栏