feat(01-02): add data directory, server hooks, and verification page

- Create data/ directory with attachments/ subdirectory and .gitkeep files
- Update .gitignore to track .gitkeep but ignore database files
- Server hooks initialize database on first request
- Page server load fetches entries and creates test entry if none exist
- Verification page shows database status, entry count, and recent entries
This commit is contained in:
Thomas Richter
2026-01-29 04:38:44 +01:00
parent a15dbfd3d8
commit d7c7e9448d
6 changed files with 100 additions and 4 deletions

23
src/hooks.server.ts Normal file
View File

@@ -0,0 +1,23 @@
import type { Handle } from '@sveltejs/kit';
import { db } from '$lib/server/db';
import { entries } from '$lib/server/db/schema';
// Ensure database tables exist on first request
let initialized = false;
export const handle: Handle = async ({ event, resolve }) => {
if (!initialized) {
// Run a simple query to ensure connection works
// Drizzle with push handles schema creation, but this verifies connectivity
try {
db.select().from(entries).limit(1).all();
initialized = true;
console.log('Database initialized successfully');
} catch (error) {
console.error('Database initialization failed:', error);
// Don't block - let the error propagate to the request
}
}
return resolve(event);
};