diff --git a/packages/plugins/@nocobase/plugin-multi-app-share-collection/src/server/plugin.ts b/packages/plugins/@nocobase/plugin-multi-app-share-collection/src/server/plugin.ts index 295f58a5c..655dea1f1 100644 --- a/packages/plugins/@nocobase/plugin-multi-app-share-collection/src/server/plugin.ts +++ b/packages/plugins/@nocobase/plugin-multi-app-share-collection/src/server/plugin.ts @@ -95,9 +95,17 @@ class SubAppPlugin extends Plugin { // delete old collection await subApp.db.sequelize.query(`TRUNCATE ${subAppPluginsCollection.quotedTableName()}`); + const columnsInfo = await subApp.db.sequelize + .getQueryInterface() + .describeTable(subAppPluginsCollection.getTableNameWithSchema()); + + const columns = Object.keys(columnsInfo).sort(); + + const columnsInSql = columns.map((column) => `"${column}"`).join(', '); + await subApp.db.sequelize.query(` - INSERT INTO ${subAppPluginsCollection.quotedTableName()} - SELECT * + INSERT INTO ${subAppPluginsCollection.quotedTableName()} (${columnsInSql}) + SELECT ${columnsInSql} FROM ${mainAppPluginsCollection.quotedTableName()} WHERE "name" not in ('multi-app-manager', 'multi-app-share-collection'); `);