From 7cf96eefb6c89e4b03ed0639dd3effca7ea6017a Mon Sep 17 00:00:00 2001 From: Chareice Date: Mon, 3 Apr 2023 21:02:41 +0800 Subject: [PATCH] fix: viewName set --- .../src/__tests__/view/view-collection.test.ts | 2 ++ .../src/hooks/beforeCreateForViewCollection.ts | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/packages/plugins/collection-manager/src/__tests__/view/view-collection.test.ts b/packages/plugins/collection-manager/src/__tests__/view/view-collection.test.ts index 5b7606281d..42d8eb8564 100644 --- a/packages/plugins/collection-manager/src/__tests__/view/view-collection.test.ts +++ b/packages/plugins/collection-manager/src/__tests__/view/view-collection.test.ts @@ -65,6 +65,8 @@ describe('view collection', function () { const otherSchemaView = db.getCollection(`${randomSchema}_${viewName}`); expect(otherSchemaView).toBeInstanceOf(ViewCollection); + expect(otherSchemaView.options.viewName).toBe(viewName); + expect(otherSchemaView.options.schema).toBe(randomSchema); }); it('should support view with dot field', async () => { diff --git a/packages/plugins/collection-manager/src/hooks/beforeCreateForViewCollection.ts b/packages/plugins/collection-manager/src/hooks/beforeCreateForViewCollection.ts index cf2c253697..d369f1c4ee 100644 --- a/packages/plugins/collection-manager/src/hooks/beforeCreateForViewCollection.ts +++ b/packages/plugins/collection-manager/src/hooks/beforeCreateForViewCollection.ts @@ -15,6 +15,13 @@ export function beforeCreateForViewCollection(db: Database) { if (exists) { const prefix = model.get('schema') || 'public'; const viewName = `${prefix}_${name}`; + + // set collection viewName + if (!model.get('viewName')) { + model.set('viewName', name); + } + + // set collection name model.set('name', viewName); } };