diegosouzapw/OmniRoute · error
[DB] Failed to create ${reason} backup:
Error message
[DB] Failed to create ${reason} backup: What it means
Error "[DB] Failed to create ${reason} backup:" thrown in diegosouzapw/OmniRoute.
Source
Thrown at src/lib/db/core.ts:875
const isTest = isAutomatedTestProcess();
if (isTest) return false;
try {
const backupDir = DB_BACKUPS_DIR || path.join(DATA_DIR, "db_backups");
if (!fs.existsSync(backupDir)) {
fs.mkdirSync(backupDir, { recursive: true });
}
const timestamp = new Date().toISOString().replace(/[:.]/g, "-");
const backupPath = path.join(backupDir, `db_${timestamp}_${reason}.sqlite`);
const escapedBackupPath = backupPath.replace(/'/g, "''");
db.exec(`VACUUM INTO '${escapedBackupPath}'`);
console.log(`[DB] Backup created (${reason}): ${backupPath}`);
return true;
} catch (error: unknown) {
const message = error instanceof Error ? error.message : String(error);
console.warn(`[DB] Failed to create ${reason} backup:`, message);
return false;
}
}
function createHealthCheckBackup(db: SqliteDatabase): boolean {
return createManagedDbBackup(db, "health-check-repair");
}
function autoMigrateLegacyEncryptedConnections(db: SqliteDatabase): number {
const rows = db.prepare("SELECT * FROM provider_connections").all() as JsonRecord[];
const updateStmt = db.prepare(
"UPDATE provider_connections SET api_key = @apiKey, id_token = @idToken, access_token = @accessToken, refresh_token = @refreshToken, updated_at = @updatedAt WHERE id = @id"
);
const encryptedFields = ["apiKey", "idToken", "accessToken", "refreshToken"] as const;
let migratedCount = 0;
let backupCreated = false;
for (const row of rows) {View on GitHub (pinned to a179ffed5b)
When it happens
Trigger: Thrown at src/lib/db/core.ts:875 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of diegosouzapw/OmniRoute@a179ffed5b (2026-08-25).
Data as JSON: /api/errors/981ddda2199c0d0a.
Report an issue: GitHub.