diff --git a/apps/web/src/lib/server/db.ts b/apps/web/src/lib/server/db.ts index 819f5eb..2b03d0b 100644 --- a/apps/web/src/lib/server/db.ts +++ b/apps/web/src/lib/server/db.ts @@ -80,6 +80,7 @@ async function openDb(filename: string = 'tasks.db'): Promise { if (typeof (dbModule as any).initializeDatabase === 'function') { (dbModule as any).initializeDatabase(instance); hasTasksTable = true; + console.info('[web/db] DEV: esquema inicializado (Bun initializeDatabase).'); } } catch (e) { console.warn('[web/db] No se pudo ejecutar initializeDatabase en dev (Bun):', e); @@ -108,6 +109,7 @@ async function openDb(filename: string = 'tasks.db'): Promise { try { compat.prepare(`SELECT 1 FROM tasks LIMIT 1`).get(); hasTasksTable = true; + console.info('[web/db] DEV: esquema inicializado (migraciones aplicadas en Node).'); } catch {} } catch (e) { console.warn('[web/db] No se pudieron aplicar migraciones en dev (Node):', e); @@ -115,26 +117,36 @@ async function openDb(filename: string = 'tasks.db'): Promise { } } - // Seed de datos de demo si está habilitado y la tabla está vacía - if (DEV_AUTOSEED_DB) { + // Seed de datos de demo si la tabla está vacía (por defecto habilitado en dev) + try { + let count = 0; try { - let count = 0; + const row = instance.prepare(`SELECT COUNT(1) AS c FROM tasks`).get() as any; + count = Number(row?.c ?? 0); + } catch { + // Si aún no existe la tabla, no seedear + count = 0; + } + + const shouldSeed = (typeof DEV_AUTOSEED_DB === 'boolean' ? DEV_AUTOSEED_DB : true); + if (count === 0 && shouldSeed) { + console.info('[web/db] DEV: tabla tasks vacía; iniciando seed de demo...'); try { - const row = instance.prepare(`SELECT COUNT(1) AS c FROM tasks`).get() as any; - count = Number(row?.c ?? 0); - } catch { - // Si aún no existe la tabla, no seedear - count = 0; - } - if (count === 0) { const seed = await import('./dev-seed'); if (typeof (seed as any).seedDev === 'function') { await (seed as any).seedDev(instance, DEV_DEFAULT_USER); + console.info('[web/db] DEV: seed de demo completado.'); + } else { + console.warn('[web/db] DEV: módulo dev-seed sin función seedDev; omitiendo seed.'); } + } catch (e) { + console.warn('[web/db] DEV: no se pudo cargar/ejecutar dev-seed; omitiendo seed. Error:', e); } - } catch (e) { - console.warn('[web/db] No se pudo realizar el seed de datos de demo:', e); + } else { + console.info(`[web/db] DEV: seed no aplicado (count=${count}, DEV_AUTOSEED_DB=${shouldSeed}).`); } + } catch (e) { + console.warn('[web/db] DEV: error al evaluar seed de demo:', e); } }