feat(db): wire migrator into app startup (fail-soft, lazy require)
Migrator runs on app.whenReady before pollers/createWindow. Lazy require keeps native better-sqlite3 errors from blocking app startup. Result is logged via appendDebugLog for diagnosis. Verified via npm run test:e2e (0 issues, app starts cleanly). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
6480bc2586
commit
edeaddb383
21
src/main.ts
21
src/main.ts
@ -7211,6 +7211,27 @@ app.whenReady().then(() => {
|
|||||||
refreshBundledToolPaths(true);
|
refreshBundledToolPaths(true);
|
||||||
startMetadataCacheCleanup();
|
startMetadataCacheCleanup();
|
||||||
startDebugLogFlushTimer();
|
startDebugLogFlushTimer();
|
||||||
|
|
||||||
|
// SQLite-Shadow-Migration (Plan 02 / v5.0.0-alpha.1). Idempotent + fail-soft —
|
||||||
|
// bei Fehler bleibt JSON der Master. Lazy require, damit Native-Build-Fehler
|
||||||
|
// den App-Start nicht verhindern.
|
||||||
|
try {
|
||||||
|
const { openDatabase } = require('./main/infra/db');
|
||||||
|
const { migrateJsonToSqlite } = require('./main/domain/migrator');
|
||||||
|
const dbPath = path.join(APPDATA_DIR, 'app.db');
|
||||||
|
const db = openDatabase(dbPath);
|
||||||
|
try {
|
||||||
|
const result = migrateJsonToSqlite({ db, appDataDir: APPDATA_DIR });
|
||||||
|
appendDebugLog('sqlite-migrator', result);
|
||||||
|
} finally {
|
||||||
|
db.close();
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
appendDebugLog('sqlite-migrator-failed', {
|
||||||
|
error: e instanceof Error ? e.message : String(e),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
restartAutoRecordPoller();
|
restartAutoRecordPoller();
|
||||||
restartAutoVodPoller();
|
restartAutoVodPoller();
|
||||||
restartLiveStatusPoller();
|
restartLiveStatusPoller();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user