diff --git a/packages/api/src/controllers/databaseConnections.js b/packages/api/src/controllers/databaseConnections.js
index f8c49c345..6d5d78868 100644
--- a/packages/api/src/controllers/databaseConnections.js
+++ b/packages/api/src/controllers/databaseConnections.js
@@ -80,7 +80,7 @@ module.exports = {
msgtype: 'connect',
connection: { ...connection, database },
structure: lastClosed ? lastClosed.structure : null,
- globalSettings: config.settingsValue
+ globalSettings: config.settingsValue,
});
return newOpened;
},
@@ -149,8 +149,8 @@ module.exports = {
},
refresh_meta: 'post',
- async refresh({ conid, database }) {
- this.close(conid, database);
+ async refresh({ conid, database, keepOpen }) {
+ if (!keepOpen) this.close(conid, database);
await this.ensureOpened(conid, database);
return { status: 'ok' };
@@ -173,6 +173,12 @@ module.exports = {
}
},
+ disconnect_meta: 'post',
+ async disconnect({ conid, database }) {
+ await this.close(conid, database, true);
+ return { status: 'ok' };
+ },
+
structure_meta: 'get',
async structure({ conid, database }) {
const opened = await this.ensureOpened(conid, database);
diff --git a/packages/api/src/controllers/serverConnections.js b/packages/api/src/controllers/serverConnections.js
index e9d253298..5ae4aa816 100644
--- a/packages/api/src/controllers/serverConnections.js
+++ b/packages/api/src/controllers/serverConnections.js
@@ -86,6 +86,12 @@ module.exports = {
}
},
+ disconnect_meta: 'post',
+ async disconnect({ conid }) {
+ await this.close(conid, true);
+ return { status: 'ok' };
+ },
+
listDatabases_meta: 'get',
async listDatabases({ conid }) {
const opened = await this.ensureOpened(conid);
@@ -123,8 +129,8 @@ module.exports = {
},
refresh_meta: 'post',
- async refresh({ conid }) {
- this.close(conid);
+ async refresh({ conid, keepOpen }) {
+ if (!keepOpen) this.close(conid);
await this.ensureOpened(conid);
return { status: 'ok' };
diff --git a/packages/web/src/appobj/ConnectionAppObject.svelte b/packages/web/src/appobj/ConnectionAppObject.svelte
index 947e5640c..a25b00e3d 100644
--- a/packages/web/src/appobj/ConnectionAppObject.svelte
+++ b/packages/web/src/appobj/ConnectionAppObject.svelte
@@ -1,14 +1,65 @@
+
+
-
-
@@ -61,12 +72,14 @@
import SqlGeneratorModal from '../modals/SqlGeneratorModal.svelte';
import { getDefaultFileFormat } from '../plugins/fileformats';
import { currentDatabase, extensions } from '../stores';
+ import axiosInstance from '../utility/axiosInstance';
+ import getElectron from '../utility/getElectron';
import openNewTab from '../utility/openNewTab';
import AppObjectCore from './AppObjectCore.svelte';
export let data;
function createMenu() {
- return getDatabaseMenuItems(data.connection, data.name, $extensions);
+ return getDatabaseMenuItems(data.connection, data.name, $extensions, $currentDatabase);
}
diff --git a/plugins/dbgate-plugin-sqlite/src/backend/Analyser.js b/plugins/dbgate-plugin-sqlite/src/backend/Analyser.js
index 65ffe60fd..0aef5dd2b 100644
--- a/plugins/dbgate-plugin-sqlite/src/backend/Analyser.js
+++ b/plugins/dbgate-plugin-sqlite/src/backend/Analyser.js
@@ -8,7 +8,7 @@ class Analyser extends DatabaseAnalyser {
async _runAnalysis() {
const tables = await this.driver.query(this.pool, "select * from sqlite_master where type='table'");
- console.log('TABLES', tables);
+ // console.log('TABLES', tables);
const tableSqls = _.zipObject(
tables.rows.map((x) => x.name),
diff --git a/plugins/dbgate-plugin-sqlite/src/backend/driver.js b/plugins/dbgate-plugin-sqlite/src/backend/driver.js
index a70669dd4..59f094fe8 100644
--- a/plugins/dbgate-plugin-sqlite/src/backend/driver.js
+++ b/plugins/dbgate-plugin-sqlite/src/backend/driver.js
@@ -15,6 +15,7 @@ const driver = {
},
// @ts-ignore
async query(pool, sql) {
+ console.log('SQLITE SQL', sql);
const stmt = pool.prepare(sql);
// stmt.raw();
const columns = stmt.columns();