From 7bd31684225c524b1757ddadb97afc5c90113889 Mon Sep 17 00:00:00 2001 From: chenos Date: Sat, 24 Jun 2023 16:36:26 +0800 Subject: [PATCH] fix: schema-uid-invalid (#2107) --- .../migrations/20230620203214-admin-ui-schema-uid.ts | 10 ++++++++-- .../migrations/20230620203216-mobile-ui-schema-uid.ts | 10 ++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/packages/plugins/client/src/migrations/20230620203214-admin-ui-schema-uid.ts b/packages/plugins/client/src/migrations/20230620203214-admin-ui-schema-uid.ts index ef951cfbb..d06acec45 100644 --- a/packages/plugins/client/src/migrations/20230620203214-admin-ui-schema-uid.ts +++ b/packages/plugins/client/src/migrations/20230620203214-admin-ui-schema-uid.ts @@ -1,9 +1,10 @@ +import { Model } from '@nocobase/database'; import { Migration } from '@nocobase/server'; export default class extends Migration { async up() { const systemSettings = this.db.getRepository('systemSettings'); - const instance = await systemSettings.findOne(); + let instance: Model = await systemSettings.findOne(); const uiRoutes = this.db.getRepository('uiRoutes'); const routes = await uiRoutes.find(); for (const route of routes) { @@ -11,10 +12,15 @@ export default class extends Migration { const options = instance.options || {}; options['adminSchemaUid'] = route.uiSchemaUid; instance.set('options', options); - console.log('options.adminSchemaUid', route.uiSchemaUid); + instance.changed('options', true); await instance.save(); return; } } + instance = await systemSettings.findOne(); + if (!instance.get('options')?.mobileSchemaUid) { + throw new Error('adminSchemaUid invalid'); + } + this.app.log.info('systemSettings.options', instance.toJSON()); } } diff --git a/packages/plugins/mobile-client/src/server/migrations/20230620203216-mobile-ui-schema-uid.ts b/packages/plugins/mobile-client/src/server/migrations/20230620203216-mobile-ui-schema-uid.ts index fbf15f801..24d7cb19c 100644 --- a/packages/plugins/mobile-client/src/server/migrations/20230620203216-mobile-ui-schema-uid.ts +++ b/packages/plugins/mobile-client/src/server/migrations/20230620203216-mobile-ui-schema-uid.ts @@ -1,9 +1,10 @@ +import { Model } from '@nocobase/database'; import { Migration } from '@nocobase/server'; export default class extends Migration { async up() { const systemSettings = this.db.getRepository('systemSettings'); - const instance = await systemSettings.findOne(); + let instance: Model = await systemSettings.findOne(); const uiRoutes = this.db.getRepository('uiRoutes'); const routes = await uiRoutes.find(); for (const route of routes) { @@ -11,10 +12,15 @@ export default class extends Migration { const options = instance.options || {}; options['mobileSchemaUid'] = route.uiSchemaUid; instance.set('options', options); - console.log('options.mobileSchemaUid', route.uiSchemaUid); + instance.changed('options', true); await instance.save(); return; } } + instance = await systemSettings.findOne(); + if (!instance.get('options')?.mobileSchemaUid) { + throw new Error('mobileSchemaUid invalid'); + } + this.app.log.info('systemSettings.options', instance.toJSON()); } }