From cc676c3ddaffb33c676aa3a70327285374e054a6 Mon Sep 17 00:00:00 2001 From: ChengLei Shao Date: Thu, 19 Oct 2023 16:12:12 +0800 Subject: [PATCH] feat(database): sync false option (#2864) --- packages/core/database/src/model.ts | 4 ++++ .../src/server/__tests__/sync.test.ts | 24 +++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/packages/core/database/src/model.ts b/packages/core/database/src/model.ts index c549e09a1..4cec90e6b 100644 --- a/packages/core/database/src/model.ts +++ b/packages/core/database/src/model.ts @@ -155,6 +155,10 @@ export class Model { await app.destroy(); }); + it('should not sync collection that set sync false', async () => { + const c1 = db.collection({ + name: 'c1', + sync: false, + fields: [{ type: 'string', name: 'f1' }], + }); + + await db.sync({ + force: true, + }); + + const queryInterface = db.sequelize.getQueryInterface(); + let err; + + try { + await queryInterface.describeTable(c1.model.tableName); + } catch (e) { + err = e; + } + + expect(err).toBeTruthy(); + expect(err.message.includes('No description found')).toBeTruthy(); + }); + it('should not remove column when async with drop false', async () => { const getTableInfo = async (tableName: string) => { const queryInterface = db.sequelize.getQueryInterface();