feat(transfer): add target table name case option
This commit is contained in:
1 parent
c546ba531a
commit
ef25653aca
13 files changed
+209
-53
No files matched your search
@@ -10,7 +10,7 @@ import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@
|
||||
import { useConnectionStore } from "@/stores/connectionStore";
|
||||
import DatabaseIcon from "@/components/icons/DatabaseIcon.vue";
|
||||
import * as api from "@/lib/api";
|
||||
import type { TransferProgress, TransferMode } from "@/lib/api";
|
||||
import type { TransferProgress, TransferMode, TransferTableNameCase } from "@/lib/api";
|
||||
import type { DatabaseType } from "@/types/database";
|
||||
import { isSchemaAware, supportsTransfer } from "@/lib/databaseCapabilities";
|
||||
import { databaseOptionsForConnection } from "@/composables/useDatabaseOptions";
|
||||
@@ -50,6 +50,7 @@ const targetSchema = ref("");
|
||||
// Options
|
||||
const createTable = ref(true);
|
||||
const transferMode = ref<TransferMode>("append");
|
||||
const targetTableNameCase = ref<TransferTableNameCase>("preserve");
|
||||
const batchSize = ref(1000);
|
||||
|
||||
// Transfer state
|
||||
@@ -249,6 +250,7 @@ function resetState() {
|
||||
targetSchema.value = "";
|
||||
createTable.value = true;
|
||||
transferMode.value = "append";
|
||||
targetTableNameCase.value = "preserve";
|
||||
batchSize.value = 1000;
|
||||
isTransferring.value = false;
|
||||
transferProgress.value.clear();
|
||||
@@ -281,6 +283,7 @@ async function startTransfer() {
|
||||
tables: [...selectedTables.value],
|
||||
createTable: createTable.value,
|
||||
mode: transferMode.value,
|
||||
targetTableNameCase: targetTableNameCase.value,
|
||||
batchSize: batchSize.value,
|
||||
};
|
||||
|
||||
@@ -524,6 +527,19 @@ const overallRowsLabel = computed(() => (knownTotalRows.value > 0 ? `${formatRow
|
||||
</SelectContent>
|
||||
</Select>
|
||||
</div>
|
||||
<div class="flex items-center gap-3">
|
||||
<Label class="text-xs shrink-0">{{ t("transfer.targetTableNameCase") }}</Label>
|
||||
<Select v-model="targetTableNameCase">
|
||||
<SelectTrigger class="h-7 text-xs">
|
||||
<SelectValue />
|
||||
</SelectTrigger>
|
||||
<SelectContent>
|
||||
<SelectItem value="preserve">{{ t("transfer.tableNameCasePreserve") }}</SelectItem>
|
||||
<SelectItem value="lower">{{ t("transfer.tableNameCaseLower") }}</SelectItem>
|
||||
<SelectItem value="upper">{{ t("transfer.tableNameCaseUpper") }}</SelectItem>
|
||||
</SelectContent>
|
||||
</Select>
|
||||
</div>
|
||||
<div class="flex items-center gap-3">
|
||||
<Label class="text-xs shrink-0">{{ t("transfer.batchSize") }}</Label>
|
||||
<Input v-model.number="batchSize" type="number" min="100" max="10000" step="100" class="h-7 text-xs w-24" />
|
||||
|
||||
Reference in new issue
Block a user