Dev, Test, and Prod DBs separated. .env is unified now.
This commit is contained in:
@@ -10,10 +10,32 @@ declare global {
|
||||
var prisma: PrismaClient | undefined;
|
||||
}
|
||||
|
||||
const dbUrl = process.env.DATABASE_URL;
|
||||
const mode = process.env.APP_MODE || 'dev';
|
||||
console.log(`[Prisma] Initializing in ${mode.toUpperCase()} mode`);
|
||||
|
||||
let dbUrl: string | undefined;
|
||||
|
||||
switch (mode) {
|
||||
case 'test':
|
||||
dbUrl = process.env.DATABASE_URL_TEST;
|
||||
break;
|
||||
case 'prod':
|
||||
dbUrl = process.env.DATABASE_URL_PROD;
|
||||
break;
|
||||
case 'dev':
|
||||
default:
|
||||
dbUrl = process.env.DATABASE_URL_DEV;
|
||||
break;
|
||||
}
|
||||
|
||||
// Fallback to generic DATABASE_URL if specific one is missing
|
||||
if (!dbUrl) {
|
||||
console.warn(`[Prisma] DATABASE_URL_${mode.toUpperCase()} not found, falling back to DATABASE_URL`);
|
||||
dbUrl = process.env.DATABASE_URL;
|
||||
}
|
||||
|
||||
if (!dbUrl) {
|
||||
throw new Error("DATABASE_URL environment variable is not set. Please check your .env file.");
|
||||
throw new Error(`DATABASE_URL environment variable is not set for mode ${mode}. Please check your .env file.`);
|
||||
}
|
||||
|
||||
console.log('Initializing Prisma Adapter with URL:', dbUrl);
|
||||
|
||||
Reference in New Issue
Block a user