From aef1d29164ba94a5153e3f4588e603d059933433 Mon Sep 17 00:00:00 2001 From: Gerard Date: Tue, 27 Feb 2024 08:34:57 +0100 Subject: [PATCH] Add forceCommitUpdates after manual cli import --- src/index.ts | 6 +++++- src/updateManager.ts | 11 +++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/index.ts b/src/index.ts index 9d26ae0..4b4c360 100644 --- a/src/index.ts +++ b/src/index.ts @@ -86,7 +86,7 @@ const registerHook: HookConfig = async ({ action, init }, { env, services, datab init('app.before', async () => { try { const meta = await ExportHelper.getExportMeta(); - if (!meta) return logger.info('Nothing exported yet it seems'); // No export meta, nothing to do + if (!meta) return logger.info('Nothing exported yet it seems'); if (!(await updateManager.lockForUpdates(meta.hash, meta.ts))) return; // Schema is locked / no change, nothing to do logger.info(`Updating schema and data with hash: ${meta.hash}`); @@ -129,9 +129,13 @@ const registerHook: HookConfig = async ({ action, init }, { env, services, datab .description('Import only the schema file') .action(async () => { logger.info('Importing schema...'); + const meta = await ExportHelper.getExportMeta(); + if (!meta) return logger.info('Nothing exported yet it seems'); + const exportSchema = new SchemaExporter(getSchemaService, logger); await exportSchema.load(); + await updateManager.forceCommitUpdates(meta.hash, meta.ts); logger.info('Done!'); process.exit(0); }); diff --git a/src/updateManager.ts b/src/updateManager.ts index 7b9b019..ec5367b 100644 --- a/src/updateManager.ts +++ b/src/updateManager.ts @@ -71,6 +71,17 @@ export class UpdateManager { return true; } + public async forceCommitUpdates(newHash: string, isoTS: string) { + await this.db(this.tableName).where('id', this.rowId).update({ + mv_hash: newHash, + mv_ts: isoTS, + mv_locked: false, + }); + + this._locked = false; + return true; + } + public async releaseLock() { if (!this._locked) return false;