diff --git a/packages/datalib/src/DataDuplicator.ts b/packages/datalib/src/DataDuplicator.ts index 92d083b9e..18ca1341d 100644 --- a/packages/datalib/src/DataDuplicator.ts +++ b/packages/datalib/src/DataDuplicator.ts @@ -113,7 +113,9 @@ class DuplicatorItemHolder { } const doCopy = async () => { + // console.log('chunk', this.name, JSON.stringify(chunk)); const insertedObj = this.createInsertObject(chunk); + // console.log('insertedObj', this.name, JSON.stringify(insertedObj)); if (insertedObj == null) { skipped += 1; return; diff --git a/packages/web/src/tabs/DataDuplicatorTab.svelte b/packages/web/src/tabs/DataDuplicatorTab.svelte index e118f7137..0cbe07517 100644 --- a/packages/web/src/tabs/DataDuplicatorTab.svelte +++ b/packages/web/src/tabs/DataDuplicatorTab.svelte @@ -39,6 +39,7 @@ import CheckboxField from '../forms/CheckboxField.svelte'; import FormFieldTemplateLarge from '../forms/FormFieldTemplateLarge.svelte'; import SelectField from '../forms/SelectField.svelte'; + import FontIcon from '../icons/FontIcon.svelte'; import { extractShellConnection } from '../impexp/createImpExpScript'; import SocketMessageView from '../query/SocketMessageView.svelte'; import useEditorData from '../query/useEditorData'; @@ -47,6 +48,7 @@ import { changeTab } from '../utility/common'; import createActivator, { getActiveComponent } from '../utility/createActivator'; import { useArchiveFiles, useArchiveFolders, useConnectionInfo, useDatabaseInfo } from '../utility/metadataLoaders'; + import openNewTab from '../utility/openNewTab'; import useEffect from '../utility/useEffect'; import useTimerLabel from '../utility/useTimerLabel'; @@ -188,8 +190,10 @@ isChecked, operation, matchColumn1, - file: `${name}.jsonl`, + file: name, table: tableInfo?.schemaName ? `${tableInfo?.schemaName}.${tableInfo?.pureName}` : tableInfo?.pureName, + schemaName: tableInfo?.schemaName, + pureName: tableInfo?.pureName, }; }); @@ -292,8 +296,8 @@ rows={tableRows} columns={[ { header: '', fieldName: 'isChecked', slot: 1 }, - { header: 'Source file', fieldName: 'file' }, - { header: 'Target table', fieldName: 'table' }, + { header: 'Source file', fieldName: 'file', slot: 4 }, + { header: 'Target table', fieldName: 'table', slot: 5 }, { header: 'Operation', fieldName: 'operation', slot: 2 }, { header: 'Match column', fieldName: 'matchColumn1', slot: 3 }, ]} @@ -339,6 +343,40 @@ /> {/if} + + { + openNewTab({ + title: row.file, + icon: 'img archive', + tooltip: `${$editorState.value?.archiveFolder}\n${row.file}`, + tabComponent: 'ArchiveFileTab', + props: { + archiveFile: row.file, + archiveFolder: $editorState.value?.archiveFolder, + }, + }); + }}> {row.file} + + + { + openNewTab({ + title: row.pureName, + icon: 'img table', + tabComponent: 'TableDataTab', + props: { + schemaName: row.schemaName, + pureName: row.pureName, + conid, + database, + objectTypeField: 'tables', + }, + }); + }}> {row.table} +