diff --git a/packages/web/src/appobj/DatabaseAppObject.svelte b/packages/web/src/appobj/DatabaseAppObject.svelte index a72a3623c..991a72d52 100644 --- a/packages/web/src/appobj/DatabaseAppObject.svelte +++ b/packages/web/src/appobj/DatabaseAppObject.svelte @@ -61,12 +61,37 @@ showSnackbarSuccess(`Saved to archive ${resp.data.archiveFolder}`); }; + const handleCompareWithCurrentDb = () => { + openNewTab( + { + title: 'Compare', + icon: 'img compare', + tabComponent: 'CompareModelTab', + }, + { + editor: { + sourceConid: _.get($currentDatabase, 'connection._id'), + sourceDatabase: _.get($currentDatabase, 'name'), + targetConid: _.get(connection, '_id'), + targetDatabase: name, + }, + } + ); + }; + return [ { onClick: handleNewQuery, text: 'New query', isNewQuery: true }, { onClick: handleImport, text: 'Import' }, { onClick: handleExport, text: 'Export' }, { onClick: handleSqlGenerator, text: 'SQL Generator' }, { onClick: handleExportModel, text: 'Export DB model' }, + _.get($currentDatabase, 'connection._id') && + (_.get($currentDatabase, 'connection._id') != _.get(connection, '_id') || + (_.get($currentDatabase, 'connection._id') == _.get(connection, '_id') && + _.get($currentDatabase, 'name') != _.get(connection, 'name'))) && { + onClick: handleCompareWithCurrentDb, + text: `Compare with ${_.get($currentDatabase, 'name')}`, + }, _.get($currentDatabase, 'connection._id') == _.get(connection, '_id') && _.get($currentDatabase, 'name') == name && { onClick: handleDisconnect, text: 'Disconnect' }, diff --git a/packages/web/src/commands/stdCommands.ts b/packages/web/src/commands/stdCommands.ts index 9581db77d..e52cd9274 100644 --- a/packages/web/src/commands/stdCommands.ts +++ b/packages/web/src/commands/stdCommands.ts @@ -160,7 +160,8 @@ registerCommand({ id: 'new.modelCompare', category: 'New', icon: 'img compare', - name: 'Compare DB Models', + name: 'Compare DB', + toolbar: true, onClick: () => { openNewTab({ title: 'Compare', diff --git a/packages/web/src/tabs/CompareModelTab.svelte b/packages/web/src/tabs/CompareModelTab.svelte index a182ed01e..fcd504145 100644 --- a/packages/web/src/tabs/CompareModelTab.svelte +++ b/packages/web/src/tabs/CompareModelTab.svelte @@ -1,6 +1,4 @@