From 6a18b4f698000e398298bbf76856faa2273571db Mon Sep 17 00:00:00 2001 From: "CanbiZ (MickLesk)" <47820557+MickLesk@users.noreply.github.com> Date: Tue, 17 Mar 2026 15:38:03 +0100 Subject: [PATCH] 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) --- src/server/db.js | 4 ++-- src/server/db.ts | 4 ++-- src/server/services/autoSyncService.js | 6 +++++- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/server/db.js b/src/server/db.js index b074b2e..d779cb2 100644 --- a/src/server/db.js +++ b/src/server/db.js @@ -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 }); diff --git a/src/server/db.ts b/src/server/db.ts index 1725460..ef81fad 100644 --- a/src/server/db.ts +++ b/src/server/db.ts @@ -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, diff --git a/src/server/services/autoSyncService.js b/src/server/services/autoSyncService.js index 1f943e8..4b1ff1f 100644 --- a/src/server/services/autoSyncService.js +++ b/src/server/services/autoSyncService.js @@ -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',