mirror of
https://github.com/directus/directus.git
synced 2026-01-23 16:28:01 -05:00
@@ -19,7 +19,23 @@ const connectionConfig: Record<string, any> = getConfigFromEnv('DB_', [
|
||||
|
||||
const poolConfig = getConfigFromEnv('DB_POOL');
|
||||
|
||||
validateEnv(['DB_CLIENT']);
|
||||
const requiredKeys = ['DB_CLIENT'];
|
||||
|
||||
if (env.DB_CLIENT && env.DB_CLIENT === 'sqlite3') {
|
||||
requiredKeys.push('DB_FILENAME');
|
||||
} else if (env.DB_CLIENT && env.DB_CLIENT === 'oracledb') {
|
||||
requiredKeys.push('DB_USER', 'DB_PASSWORD', 'DB_CONNECT_STRING');
|
||||
} else {
|
||||
if (env.DB_CLIENT === 'pg') {
|
||||
if (!env.DB_CONNECTION_STRING) {
|
||||
requiredKeys.push('DB_HOST', 'DB_PORT', 'DB_DATABASE', 'DB_USER');
|
||||
}
|
||||
} else {
|
||||
requiredKeys.push('DB_HOST', 'DB_PORT', 'DB_DATABASE', 'DB_USER', 'DB_PASSWORD');
|
||||
}
|
||||
}
|
||||
|
||||
validateEnv(requiredKeys);
|
||||
|
||||
const knexConfig: Knex.Config = {
|
||||
client: env.DB_CLIENT,
|
||||
|
||||
@@ -2,20 +2,6 @@ import env from '../env';
|
||||
import logger from '../logger';
|
||||
|
||||
export function validateEnv(requiredKeys: string[]): void {
|
||||
if (env.DB_CLIENT && env.DB_CLIENT === 'sqlite3') {
|
||||
requiredKeys.push('DB_FILENAME');
|
||||
} else if (env.DB_CLIENT && env.DB_CLIENT === 'oracledb') {
|
||||
requiredKeys.push('DB_USER', 'DB_PASSWORD', 'DB_CONNECT_STRING');
|
||||
} else {
|
||||
if (env.DB_CLIENT === 'pg') {
|
||||
if (!env.DB_CONNECTION_STRING) {
|
||||
requiredKeys.push('DB_HOST', 'DB_PORT', 'DB_DATABASE', 'DB_USER');
|
||||
}
|
||||
} else {
|
||||
requiredKeys.push('DB_HOST', 'DB_PORT', 'DB_DATABASE', 'DB_USER', 'DB_PASSWORD');
|
||||
}
|
||||
}
|
||||
|
||||
for (const requiredKey of requiredKeys) {
|
||||
if (requiredKey in env === false) {
|
||||
logger.error(`"${requiredKey}" Environment Variable is missing.`);
|
||||
|
||||
Reference in New Issue
Block a user