refactor(server): IMAGE_DIR/DATABASE_PATH zentralisieren + Doku-Drift fixen
src/lib/server/paths.ts: zentrale Auflösung der env-vars; vorher 6× IMAGE_DIR und 2× DATABASE_PATH dupliziert mit identischen Defaults. Migrierte Sites: - src/lib/server/db/index.ts (DATABASE_PATH + IMAGE_DIR) - src/routes/api/admin/backup/+server.ts - src/routes/api/domains/+server.ts - src/routes/api/domains/[id]/+server.ts - src/routes/api/recipes/import/+server.ts - src/routes/api/recipes/[id]/image/+server.ts - src/routes/images/[filename]/+server.ts ARCHITECTURE.md: - 49 Flachwitze -> 150 (waren tatsaechlich 150) - 'search/' Route entfernt — wurde nie als eigene Route gebaut, Suche laeuft direkt auf der Homepage via API-Calls Findings aus zweiter Review-Runde (siehe OPEN-ISSUES-NEXT.md)
This commit is contained in:
@@ -1,15 +1,15 @@
|
||||
import Database from 'better-sqlite3';
|
||||
import { mkdirSync } from 'node:fs';
|
||||
import { dirname } from 'node:path';
|
||||
import { DATABASE_PATH, IMAGE_DIR } from '$lib/server/paths';
|
||||
import { runMigrations } from './migrate';
|
||||
|
||||
let instance: Database.Database | null = null;
|
||||
|
||||
export function getDb(path = process.env.DATABASE_PATH ?? './data/kochwas.db'): Database.Database {
|
||||
export function getDb(path = DATABASE_PATH): Database.Database {
|
||||
if (instance) return instance;
|
||||
mkdirSync(dirname(path), { recursive: true });
|
||||
const imageDir = process.env.IMAGE_DIR ?? './data/images';
|
||||
mkdirSync(imageDir, { recursive: true });
|
||||
mkdirSync(IMAGE_DIR, { recursive: true });
|
||||
instance = new Database(path);
|
||||
instance.pragma('journal_mode = WAL');
|
||||
instance.pragma('foreign_keys = ON');
|
||||
|
||||
6
src/lib/server/paths.ts
Normal file
6
src/lib/server/paths.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
// Filesystem paths read from env at module load. Centralized so a misset
|
||||
// env var only causes one place to be wrong, not six. Both defaults match
|
||||
// the docker-compose volume mounts under `/app/data`.
|
||||
|
||||
export const DATABASE_PATH = process.env.DATABASE_PATH ?? './data/kochwas.db';
|
||||
export const IMAGE_DIR = process.env.IMAGE_DIR ?? './data/images';
|
||||
Reference in New Issue
Block a user