fix: use dbUrl fallback for Prisma adapter and align default DB path with prisma.config.ts
- db.ts / db.js: use dbUrl variable (with fallback to pve-scripts.db) instead of process.env.DATABASE_URL! directly, prevents crash when DATABASE_URL is not set in environment - autoSyncService.js: suppress ENOENT error log in loadSettings when .env file does not exist (return defaults silently instead of printing error)
This commit is contained in:
@@ -8,7 +8,7 @@ const globalForPrisma = globalThis;
|
||||
|
||||
// Ensure database directory exists before initializing Prisma
|
||||
// DATABASE_URL format: file:/path/to/database.db
|
||||
const dbUrl = process.env.DATABASE_URL || 'file:./data/settings.db';
|
||||
const dbUrl = process.env.DATABASE_URL || 'file:./data/pve-scripts.db';
|
||||
const dbPath = dbUrl.replace(/^file:/, '');
|
||||
const dbDir = dirname(dbPath);
|
||||
|
||||
@@ -17,7 +17,7 @@ if (!existsSync(dbDir)) {
|
||||
mkdirSync(dbDir, { recursive: true });
|
||||
}
|
||||
|
||||
const adapter = new PrismaBetterSqlite3({ url: process.env.DATABASE_URL });
|
||||
const adapter = new PrismaBetterSqlite3({ url: dbUrl });
|
||||
|
||||
export const prisma = globalForPrisma.prisma ?? new PrismaClient({ adapter });
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ const globalForPrisma = globalThis as { prisma?: PrismaClient };
|
||||
|
||||
// Ensure database directory exists before initializing Prisma
|
||||
// DATABASE_URL format: file:/path/to/database.db
|
||||
const dbUrl = process.env.DATABASE_URL || 'file:./data/settings.db';
|
||||
const dbUrl = process.env.DATABASE_URL || 'file:./data/pve-scripts.db';
|
||||
const dbPath = dbUrl.replace(/^file:/, '');
|
||||
const dbDir = dirname(dbPath);
|
||||
|
||||
@@ -17,7 +17,7 @@ if (!existsSync(dbDir)) {
|
||||
mkdirSync(dbDir, { recursive: true });
|
||||
}
|
||||
|
||||
const adapter = new PrismaBetterSqlite3({ url: process.env.DATABASE_URL! });
|
||||
const adapter = new PrismaBetterSqlite3({ url: dbUrl });
|
||||
|
||||
export const prisma: PrismaClient = globalForPrisma.prisma ?? new PrismaClient({
|
||||
adapter,
|
||||
|
||||
@@ -122,7 +122,11 @@ export class AutoSyncService {
|
||||
|
||||
return settings;
|
||||
} catch (error) {
|
||||
console.error('Error loading auto-sync settings:', error);
|
||||
if (error && typeof error === 'object' && 'code' in error && error.code === 'ENOENT') {
|
||||
// .env file doesn't exist — return defaults silently
|
||||
} else {
|
||||
console.error('Error loading auto-sync settings:', error);
|
||||
}
|
||||
return {
|
||||
autoSyncEnabled: false,
|
||||
syncIntervalType: 'predefined',
|
||||
|
||||
Reference in New Issue
Block a user