diff --git a/src/lib/db/client.ts b/src/lib/db/client.ts index 880f337..993a134 100644 --- a/src/lib/db/client.ts +++ b/src/lib/db/client.ts @@ -10,6 +10,11 @@ fs.mkdirSync(dataDir, { recursive: true }); const sqlite = new Database(path.join(dataDir, "db.sqlite")); sqlite.pragma("journal_mode = WAL"); sqlite.pragma("foreign_keys = ON"); +// Next's build-time page-data collection evaluates route modules across +// several worker processes concurrently — without this, two workers +// racing to open/initialize a fresh db.sqlite can throw SQLITE_BUSY +// instead of just waiting the few ms for the other's lock to clear. +sqlite.pragma("busy_timeout = 5000"); export const db = drizzle(sqlite, { schema }); export type DB = typeof db;