chore: import DH V2 D5.6.4 production baseline
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
import { join } from 'node:path';
|
||||
import { DataSource } from 'typeorm';
|
||||
import { PHASE_A_ENTITIES } from './entities';
|
||||
|
||||
function requiredEnvironmentVariable(key: string): string {
|
||||
const value = process.env[key];
|
||||
if (!value) throw new Error(`Missing required environment variable: ${key}`);
|
||||
return value;
|
||||
}
|
||||
|
||||
function databasePort(): number {
|
||||
const port = Number(process.env.DB_PORT ?? 5432);
|
||||
if (!Number.isInteger(port) || port < 1 || port > 65535) {
|
||||
throw new Error('DB_PORT must be a valid TCP port');
|
||||
}
|
||||
return port;
|
||||
}
|
||||
|
||||
export const migrationDataSource = new DataSource({
|
||||
type: 'postgres',
|
||||
host: requiredEnvironmentVariable('DB_HOST'),
|
||||
port: databasePort(),
|
||||
database: requiredEnvironmentVariable('DB_NAME'),
|
||||
username: requiredEnvironmentVariable('DB_MIGRATION_USER'),
|
||||
password: requiredEnvironmentVariable('DB_MIGRATION_PASSWORD'),
|
||||
entities: PHASE_A_ENTITIES,
|
||||
migrations: [join(__dirname, 'migrations', '*.{js,ts}')],
|
||||
migrationsTableName: 'typeorm_migrations',
|
||||
synchronize: false,
|
||||
migrationsRun: false,
|
||||
logging: false,
|
||||
applicationName: 'dhv2-migrations',
|
||||
connectTimeoutMS: 5000,
|
||||
});
|
||||
Reference in New Issue
Block a user