feat: habilita seed de demo en dev y añade logs de inicialización

Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
webui
borja 2 weeks ago
parent cd6d9c02af
commit 05900ef977

@ -80,6 +80,7 @@ async function openDb(filename: string = 'tasks.db'): Promise<any> {
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<any> {
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<any> {
}
}
// 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);
}
}

Loading…
Cancel
Save