首先,确保您已经安装了 "@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" 文件中存储配置值。