我想使用 TypeORM 为我的 NestJs 应用程序设置数据库连接。我有一个配置文件,它从读取所有值.env文件import { DotenvConfigOutput, config } from 'dotenv';const envFound: DotenvConfigOutput = config();if (!envFound) { throw new Error('.env file was not found.');}process.env.NODE_ENV = process.env.NODE_ENV || 'development';export const DATABASE_TYPE: string = process.env.DATABASE_TYPE || 'postgres';export const DATABASE_USERNAME: string = process.env.DATABASE_USERNAME || 'admin';export const DATABASE_PASSWORD: string = process.env.DATABASE_PASSWORD || 'myPW';export const DATABASE_HOST: string = process.env.DATABASE_HOST || 'localhost';export const DATABASE_PORT: number = Number(process.env.DATABASE_PORT) || 5432;export const DATABASE_NAME: string = process.env.DATABASE_NAME || 'myDB';export const DATABASE_SYNCHRONIZE: boolean = Boolean(process.env.DATABASE_SYNCHRONIZE) || true;我正在 app.module 中设置连接,所以在应用程序启动时。import { DATABASE_TYPE, DATABASE_HOST, DATABASE_PORT, DATABASE_USERNAME, DATABASE_PASSWORD, DATABASE_NAME, DATABASE_SYNCHRONIZE,} from './config';@Module({ imports: [ TypeOrmModule.forRoot({ type: DATABASE_TYPE, host: DATABASE_HOST, port: DATABASE_PORT, username: DATABASE_USERNAME, password: DATABASE_PASSWORD, database: DATABASE_NAME, entities: [], synchronize: DATABASE_SYNCHRONIZE, }), ], controllers: [], providers: [],})export class AppModule {}不幸的是我在type现场遇到了这个错误类型 'string' 不能分配给类型 '"mysql" | "mariadb" | "postgres" | "蟑螂数据库" | "sqlite" | "mssql" | "神谕" | "科尔多瓦" | “原生脚本” | “反应原生” | "sqljs" | "mongodb" | “极光数据API” | "expo"'.ts(2322) MysqlConnectionOptions.d.ts(12, 14): 预期类型来自属性'type',它在'TypeOrmModuleOptions'类型上声明我不想传递硬编码字符串,'postgres'因为我希望它保持动态。我更喜欢 Postgres,但有些客户使用 oracle 数据库,我也必须支持 MSSQL。我该如何解决该配置问题?
添加回答
举报
0/150
提交
取消