mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-23 05:46:01 +00:00
fixed import/export for separate schemas
This commit is contained in:
@@ -46,3 +46,14 @@ export function dbNameLogCategory(database: string): string {
|
|||||||
}
|
}
|
||||||
return '~nodb';
|
return '~nodb';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function compositeDbNameIfNeeded(
|
||||||
|
connnection: { useSeparateSchemas: boolean },
|
||||||
|
database: string,
|
||||||
|
schema: string
|
||||||
|
) {
|
||||||
|
if (connnection?.useSeparateSchemas) {
|
||||||
|
return `${database}::${schema}`;
|
||||||
|
}
|
||||||
|
return database;
|
||||||
|
}
|
||||||
|
|||||||
@@ -622,7 +622,8 @@
|
|||||||
sourceStorageType: getDefaultFileFormat(getExtensions()).storageType,
|
sourceStorageType: getDefaultFileFormat(getExtensions()).storageType,
|
||||||
targetStorageType: 'database',
|
targetStorageType: 'database',
|
||||||
targetConnectionId: conid,
|
targetConnectionId: conid,
|
||||||
targetDatabaseName: database,
|
targetDatabaseName: extractDbNameFromComposite(database),
|
||||||
|
targetSchemaName: data.schemaName,
|
||||||
fixedTargetPureName: data.pureName,
|
fixedTargetPureName: data.pureName,
|
||||||
});
|
});
|
||||||
// showModal(ImportExportModal, {
|
// showModal(ImportExportModal, {
|
||||||
@@ -774,7 +775,7 @@
|
|||||||
openImportExportTab({
|
openImportExportTab({
|
||||||
sourceStorageType: 'database',
|
sourceStorageType: 'database',
|
||||||
sourceConnectionId: data.conid,
|
sourceConnectionId: data.conid,
|
||||||
sourceDatabaseName: data.database,
|
sourceDatabaseName: extractDbNameFromComposite(data.database),
|
||||||
sourceSchemaName: data.schemaName,
|
sourceSchemaName: data.schemaName,
|
||||||
sourceList: [data.pureName],
|
sourceList: [data.pureName],
|
||||||
});
|
});
|
||||||
@@ -827,7 +828,13 @@
|
|||||||
pinnedTables,
|
pinnedTables,
|
||||||
} from '../stores';
|
} from '../stores';
|
||||||
import openNewTab from '../utility/openNewTab';
|
import openNewTab from '../utility/openNewTab';
|
||||||
import { filterName, generateDbPairingId, getAlterDatabaseScript, getConnectionLabel } from 'dbgate-tools';
|
import {
|
||||||
|
extractDbNameFromComposite,
|
||||||
|
filterName,
|
||||||
|
generateDbPairingId,
|
||||||
|
getAlterDatabaseScript,
|
||||||
|
getConnectionLabel,
|
||||||
|
} from 'dbgate-tools';
|
||||||
import { getConnectionInfo, getDatabaseInfo } from '../utility/metadataLoaders';
|
import { getConnectionInfo, getDatabaseInfo } from '../utility/metadataLoaders';
|
||||||
import fullDisplayName from '../utility/fullDisplayName';
|
import fullDisplayName from '../utility/fullDisplayName';
|
||||||
import { showModal } from '../modals/modalTools';
|
import { showModal } from '../modals/modalTools';
|
||||||
|
|||||||
@@ -67,6 +67,7 @@
|
|||||||
|
|
||||||
import SourceTargetConfig from './SourceTargetConfig.svelte';
|
import SourceTargetConfig from './SourceTargetConfig.svelte';
|
||||||
import useEffect from '../utility/useEffect';
|
import useEffect from '../utility/useEffect';
|
||||||
|
import { compositeDbNameIfNeeded } from 'dbgate-tools';
|
||||||
|
|
||||||
// export let uploadedFile = undefined;
|
// export let uploadedFile = undefined;
|
||||||
// export let openedFile = undefined;
|
// export let openedFile = undefined;
|
||||||
@@ -75,9 +76,18 @@
|
|||||||
|
|
||||||
const { values, setFieldValue } = getFormContext();
|
const { values, setFieldValue } = getFormContext();
|
||||||
|
|
||||||
$: targetDbinfo = useDatabaseInfo({ conid: $values.targetConnectionId, database: $values.targetDatabaseName });
|
|
||||||
$: sourceDbinfo = useDatabaseInfo({ conid: $values.sourceConnectionId, database: $values.sourceDatabaseName });
|
|
||||||
$: sourceConnectionInfo = useConnectionInfo({ conid: $values.sourceConnectionId });
|
$: sourceConnectionInfo = useConnectionInfo({ conid: $values.sourceConnectionId });
|
||||||
|
$: targetConnectionInfo = useConnectionInfo({ conid: $values.targetConnectionId });
|
||||||
|
|
||||||
|
$: sourceDbinfo = useDatabaseInfo({
|
||||||
|
conid: $values.sourceConnectionId,
|
||||||
|
database: compositeDbNameIfNeeded($sourceConnectionInfo, $values.sourceDatabaseName, $values.sourceSchemaName),
|
||||||
|
});
|
||||||
|
$: targetDbinfo = useDatabaseInfo({
|
||||||
|
conid: $values.targetConnectionId,
|
||||||
|
database: compositeDbNameIfNeeded($targetConnectionInfo, $values.targetDatabaseName, $values.targetSchemaName),
|
||||||
|
});
|
||||||
|
|
||||||
$: sourceEngine = $sourceConnectionInfo?.engine;
|
$: sourceEngine = $sourceConnectionInfo?.engine;
|
||||||
$: sourceList = $values.sourceList;
|
$: sourceList = $values.sourceList;
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
import { findFileFormat, getFileFormatDirections } from '../plugins/fileformats';
|
import { findFileFormat, getFileFormatDirections } from '../plugins/fileformats';
|
||||||
import SqlEditor from '../query/SqlEditor.svelte';
|
import SqlEditor from '../query/SqlEditor.svelte';
|
||||||
import { currentArchive, currentDatabase, extensions } from '../stores';
|
import { currentArchive, currentDatabase, extensions } from '../stores';
|
||||||
import { useArchiveFiles, useConnectionInfo, useDatabaseInfo } from '../utility/metadataLoaders';
|
import { useConnectionInfo } from '../utility/metadataLoaders';
|
||||||
import FilesInput from './FilesInput.svelte';
|
import FilesInput from './FilesInput.svelte';
|
||||||
import FormConnectionSelect from './FormConnectionSelect.svelte';
|
import FormConnectionSelect from './FormConnectionSelect.svelte';
|
||||||
import FormDatabaseSelect from './FormDatabaseSelect.svelte';
|
import FormDatabaseSelect from './FormDatabaseSelect.svelte';
|
||||||
@@ -51,8 +51,6 @@
|
|||||||
];
|
];
|
||||||
|
|
||||||
$: storageType = $values[storageTypeField];
|
$: storageType = $values[storageTypeField];
|
||||||
$: dbinfo = useDatabaseInfo({ conid: $values[connectionIdField], database: $values[databaseNameField] });
|
|
||||||
$: archiveFiles = useArchiveFiles({ folder: $values[archiveFolderField] });
|
|
||||||
$: format = findFileFormat($extensions, storageType);
|
$: format = findFileFormat($extensions, storageType);
|
||||||
$: connectionInfo = useConnectionInfo({ conid: $values[connectionIdField] });
|
$: connectionInfo = useConnectionInfo({ conid: $values[connectionIdField] });
|
||||||
$: driver = findEngineDriver($connectionInfo, $extensions);
|
$: driver = findEngineDriver($connectionInfo, $extensions);
|
||||||
|
|||||||
Reference in New Issue
Block a user