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:
CanbiZ (MickLesk)
2026-03-17 15:38:03 +01:00
parent d0353cf7c5
commit 6a18b4f698
3 changed files with 9 additions and 5 deletions

View File

@@ -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 });

View File

@@ -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,

View File

@@ -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',