diff --git a/backend/database/manager.ts b/backend/database/manager.ts index b36a47fe3..5744207e8 100644 --- a/backend/database/manager.ts +++ b/backend/database/manager.ts @@ -63,10 +63,10 @@ export class DatabaseManager extends DatabaseDemuxBase { } catch (err) { console.error(err); await this.db!.close(); - await fs.copyFile(copyPath, dbPath); + copyPath && (await fs.copyFile(copyPath, dbPath)); throw err; } finally { - await fs.unlink(copyPath); + copyPath && (await fs.unlink(copyPath)); } } @@ -154,6 +154,10 @@ export class DatabaseManager extends DatabaseDemuxBase { async #makeTempCopy() { const src = this.db!.dbPath; + if (src === ':memory:') { + return null; + } + const dir = path.parse(src).dir; const dest = path.join(dir, '__premigratory_temp.db'); await fs.copyFile(src, dest); diff --git a/backend/patches/updateSchemas.ts b/backend/patches/updateSchemas.ts index e6e23b206..250e72b2e 100644 --- a/backend/patches/updateSchemas.ts +++ b/backend/patches/updateSchemas.ts @@ -24,6 +24,10 @@ const defaultNumberSeriesMap = { } as Record; async function execute(dm: DatabaseManager) { + if (dm.db?.dbPath === ':memory:') { + return; + } + const sourceKnex = dm.db!.knex!; const version = ( await sourceKnex('SingleValue')