diff --git a/apps/desktop/src/components/diff/SchemaDiffConfigStep.vue b/apps/desktop/src/components/diff/SchemaDiffConfigStep.vue
index e027de45fd..df1565c0ef 100644
--- a/apps/desktop/src/components/diff/SchemaDiffConfigStep.vue
+++ b/apps/desktop/src/components/diff/SchemaDiffConfigStep.vue
@@ -28,7 +28,7 @@ import DatabaseIcon from "@/components/icons/DatabaseIcon.vue";
import * as api from "@/lib/backend/api";
import { isSchemaAware } from "@/lib/database/databaseCapabilities";
import { fetchNamespaceOptionsForConnection } from "@/composables/useDatabaseOptions";
-import { ArrowLeftRight, GitCompareArrows, Save, FolderOpen, Settings, X } from "@lucide/vue";
+import { ArrowLeftRight, GitCompareArrows, Save, FolderOpen, Settings, Trash2, X } from "@lucide/vue";
import type { SchemaDiffConfig, SchemaDiffCompareOptions, FieldMappingEntry, SchemaDiffTableMapping, SchemaDiffRoutineMapping } from "@/types/schemaDiff";
import type { DatabaseType } from "@/types/database";
@@ -166,6 +166,16 @@ function handleUpdateSelectedTables(value: string[]) {
reconcileTableMappings(value);
}
+function handleRemoveSelectedTable(sourceTable: string) {
+ handleUpdateSelectedTables(localSelectedTables.value.filter((table) => table !== sourceTable));
+}
+
+function matchStatusClass(kind: SchemaDiffTableMatch["kind"]): string {
+ if (kind === "unmatched") return "text-destructive";
+ if (kind === "manual") return "text-amber-600 dark:text-amber-400";
+ return "text-muted-foreground";
+}
+
function clearUnavailableTableSelection() {
sourceTableList.value = [];
targetTableList.value = [];
@@ -307,6 +317,10 @@ function handleUpdateSelectedRoutines(value: string[]) {
reconcileRoutineMappings(value);
}
+function handleRemoveSelectedRoutine(sourceRoutine: string) {
+ handleUpdateSelectedRoutines(localSelectedRoutines.value.filter((routine) => routine !== sourceRoutine));
+}
+
function clearUnavailableRoutineSelection() {
sourceRoutineList.value = [];
targetRoutineList.value = [];
@@ -861,6 +875,7 @@ async function fetchDbVersion(connectionId: string, database: string, schema: st
(),
{
title: "",
+ searchPlaceholder: "",
searchable: true,
emptyText: "",
disabled: false,
@@ -64,7 +67,7 @@ function toggleSelectAll() {
-
+