mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-23 23:05:59 +00:00
shwll connection fixes
This commit is contained in:
@@ -58,7 +58,7 @@ export class ScriptWriter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dataDuplicator(options) {
|
dataDuplicator(options) {
|
||||||
this._put(`await dbgateApi.dataDuplicator(${JSON.stringify(options)});`);
|
this._put(`await dbgateApi.dataDuplicator(${JSON.stringify(options, null, 2)});`);
|
||||||
}
|
}
|
||||||
|
|
||||||
comment(s) {
|
comment(s) {
|
||||||
|
|||||||
@@ -19,6 +19,7 @@
|
|||||||
import { apiCall } from '../utility/api';
|
import { apiCall } from '../utility/api';
|
||||||
import hasPermission from '../utility/hasPermission';
|
import hasPermission from '../utility/hasPermission';
|
||||||
import { isProApp } from '../utility/proTools';
|
import { isProApp } from '../utility/proTools';
|
||||||
|
import { extractShellConnection } from '../impexp/createImpExpScript';
|
||||||
|
|
||||||
export let data;
|
export let data;
|
||||||
|
|
||||||
@@ -66,10 +67,7 @@
|
|||||||
|
|
||||||
await dbgateApi.deployDb(${JSON.stringify(
|
await dbgateApi.deployDb(${JSON.stringify(
|
||||||
{
|
{
|
||||||
connection: {
|
connection: extractShellConnection($currentDatabase.connection, $currentDatabase.name),
|
||||||
..._.omit($currentDatabase.connection, '_id', 'displayName'),
|
|
||||||
database: $currentDatabase.name,
|
|
||||||
},
|
|
||||||
modelFolder: `archive:${data.name}`,
|
modelFolder: `archive:${data.name}`,
|
||||||
},
|
},
|
||||||
undefined,
|
undefined,
|
||||||
|
|||||||
@@ -297,10 +297,7 @@
|
|||||||
|
|
||||||
await dbgateApi.dropAllDbObjects(${JSON.stringify(
|
await dbgateApi.dropAllDbObjects(${JSON.stringify(
|
||||||
{
|
{
|
||||||
connection: {
|
connection: extractShellConnection(connection, name),
|
||||||
..._.omit(connection, '_id', 'displayName'),
|
|
||||||
database: name,
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
undefined,
|
undefined,
|
||||||
2
|
2
|
||||||
@@ -484,6 +481,7 @@ await dbgateApi.dropAllDbObjects(${JSON.stringify(
|
|||||||
import { isProApp } from '../utility/proTools';
|
import { isProApp } from '../utility/proTools';
|
||||||
import ExportDbModelModal from '../modals/ExportDbModelModal.svelte';
|
import ExportDbModelModal from '../modals/ExportDbModelModal.svelte';
|
||||||
import ChooseArchiveFolderModal from '../modals/ChooseArchiveFolderModal.svelte';
|
import ChooseArchiveFolderModal from '../modals/ChooseArchiveFolderModal.svelte';
|
||||||
|
import { extractShellConnection } from '../impexp/createImpExpScript';
|
||||||
|
|
||||||
export let data;
|
export let data;
|
||||||
export let passProps;
|
export let passProps;
|
||||||
|
|||||||
@@ -39,7 +39,10 @@ export function extractShellConnection(connection, database) {
|
|||||||
|
|
||||||
return config.allowShellConnection
|
return config.allowShellConnection
|
||||||
? {
|
? {
|
||||||
..._.omit(connection, ['_id', 'displayName', 'databases', 'connectionColor']),
|
..._.omitBy(
|
||||||
|
_.omit(connection, ['_id', 'displayName', 'databases', 'connectionColor', 'status', 'unsaved']),
|
||||||
|
v => !v
|
||||||
|
),
|
||||||
database,
|
database,
|
||||||
}
|
}
|
||||||
: {
|
: {
|
||||||
@@ -192,7 +195,7 @@ export function normalizeExportColumnMap(colmap) {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
export default async function createImpExpScript(extensions, values, forceScript = false) {
|
export default async function createImpExpScript(extensions, values, forceScript = false) {
|
||||||
const config = getCurrentConfig();
|
const config = getCurrentConfig();
|
||||||
const script =
|
const script =
|
||||||
config.allowShellScripting || forceScript
|
config.allowShellScripting || forceScript
|
||||||
|
|||||||
@@ -22,6 +22,16 @@
|
|||||||
testEnabled: () => getCurrentEditor()?.canKill(),
|
testEnabled: () => getCurrentEditor()?.canKill(),
|
||||||
onClick: () => getCurrentEditor().kill(),
|
onClick: () => getCurrentEditor().kill(),
|
||||||
});
|
});
|
||||||
|
registerCommand({
|
||||||
|
id: 'dataDuplicator.generateScript',
|
||||||
|
category: 'Data duplicator',
|
||||||
|
icon: 'img shell',
|
||||||
|
name: 'Generate Script',
|
||||||
|
toolbar: true,
|
||||||
|
isRelatedToTab: true,
|
||||||
|
testEnabled: () => getCurrentEditor()?.canRun(),
|
||||||
|
onClick: () => getCurrentEditor().generateScript(),
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
@@ -52,7 +62,6 @@
|
|||||||
import useEffect from '../utility/useEffect';
|
import useEffect from '../utility/useEffect';
|
||||||
import useTimerLabel from '../utility/useTimerLabel';
|
import useTimerLabel from '../utility/useTimerLabel';
|
||||||
import appObjectTypes from '../appobj';
|
import appObjectTypes from '../appobj';
|
||||||
import RowHeaderCell from '../datagrid/RowHeaderCell.svelte';
|
|
||||||
|
|
||||||
export let conid;
|
export let conid;
|
||||||
export let database;
|
export let database;
|
||||||
@@ -146,6 +155,18 @@
|
|||||||
timerLabel.start();
|
timerLabel.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export async function generateScript() {
|
||||||
|
const code = await createScript();
|
||||||
|
openNewTab(
|
||||||
|
{
|
||||||
|
title: 'Shell #',
|
||||||
|
icon: 'img shell',
|
||||||
|
tabComponent: 'ShellTab',
|
||||||
|
},
|
||||||
|
{ editor: code }
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
$: effect = useEffect(() => registerRunnerDone(runnerId));
|
$: effect = useEffect(() => registerRunnerDone(runnerId));
|
||||||
|
|
||||||
function registerRunnerDone(rid) {
|
function registerRunnerDone(rid) {
|
||||||
@@ -422,6 +443,7 @@
|
|||||||
<svelte:fragment slot="toolstrip">
|
<svelte:fragment slot="toolstrip">
|
||||||
<ToolStripCommandButton command="dataDuplicator.run" />
|
<ToolStripCommandButton command="dataDuplicator.run" />
|
||||||
<ToolStripCommandButton command="dataDuplicator.kill" />
|
<ToolStripCommandButton command="dataDuplicator.kill" />
|
||||||
|
<ToolStripCommandButton command="dataDuplicator.generateScript" />
|
||||||
</svelte:fragment>
|
</svelte:fragment>
|
||||||
</ToolStripContainer>
|
</ToolStripContainer>
|
||||||
|
|
||||||
|
|||||||
@@ -275,7 +275,7 @@
|
|||||||
{:else}
|
{:else}
|
||||||
<ToolStripButton on:click={handleExecute} icon="icon run">Run</ToolStripButton>
|
<ToolStripButton on:click={handleExecute} icon="icon run">Run</ToolStripButton>
|
||||||
{/if}
|
{/if}
|
||||||
<ToolStripButton icon="img sql-file" on:click={handleGenerateScript}>Generate script</ToolStripButton>
|
<ToolStripButton icon="img shell" on:click={handleGenerateScript}>Generate script</ToolStripButton>
|
||||||
<ToolStripSaveButton idPrefix="job" />
|
<ToolStripSaveButton idPrefix="job" />
|
||||||
</svelte:fragment>
|
</svelte:fragment>
|
||||||
</ToolStripContainer>
|
</ToolStripContainer>
|
||||||
|
|||||||
Reference in New Issue
Block a user