feat(uxdb): add UXDB database support

This commit is contained in:
t8y2 committed 2026-07-24 21:15:06 +08:00
1 parent 3035800658
commit 7ee335e38a
65 files changed
+697 -96

No files matched your search

@@ -817,6 +817,7 @@ const driverProfiles: Record<
questdb: { type: "questdb", port: 8812, user: "questdb", label: "QuestDB", icon: "questdb" },
kingbase: { type: "kingbase", port: 54321, user: "system", label: "KingBase", icon: "kingbase" },
highgo: { type: "highgo", port: 5866, user: "highgo", label: "瀚高 HighGo", icon: "highgo" },
uxdb: { type: "uxdb", port: 52025, user: "uxdb", label: "优炫 UXDB", icon: "uxdb" },
yashandb: { type: "yashandb", port: 1688, user: "sys", label: "崖山 YashanDB", icon: "yashandb" },
vastbase: { type: "vastbase", port: 5432, user: "vastbase", label: "Vastbase", icon: "vastbase" },
doris: { type: "mysql", port: 9030, user: "root", label: "Doris", icon: "doris", urlParams: "" },
@@ -2077,6 +2078,7 @@ function defaultDatabaseForProfile() {
if (form.value.db_type === "databend") return "default";
if (selectedType.value === "cockroachdb") return "defaultdb";
if (form.value.db_type === "highgo") return "highgo";
if (form.value.db_type === "uxdb") return "uxdb";
if (form.value.db_type === "yashandb") return "yasdb";
if (form.value.db_type === "postgres" || form.value.db_type === "vastbase") return "postgres";
if (form.value.db_type === "sqlserver") return "master";
@@ -2155,6 +2157,7 @@ const iconTypeMap: Record<string, string> = {
questdb: "questdb",
kingbase: "kingbase",
highgo: "highgo",
uxdb: "uxdb",
yashandb: "yashandb",
vastbase: "vastbase",
doris: "doris",
@@ -1,11 +1,13 @@
<script setup lang="ts">
import { computed } from "vue";
import { Database } from "@lucide/vue";
import { useTheme } from "@/composables/useTheme";
import { webPath } from "@/lib/common/webPath";
const props = defineProps<{
dbType: string;
}>();
const { isDark } = useTheme();
const assetIcons: Record<string, string> = {
mysql: "mysql",
@@ -38,6 +40,7 @@ const assetIcons: Record<string, string> = {
kwdb: "kwdb",
kingbase: "kingbase",
highgo: "highgo.png",
uxdb: "uxdb",
goldendb: "goldendb.png",
databend: "databend",
vastbase: "vastbase.png",
@@ -106,6 +109,7 @@ const normalizedType = computed(() => props.dbType.toLowerCase().replace(/[\s-]+
const assetName = computed(() => assetIcons[normalizedType.value]);
const assetSrc = computed(() => {
if (!assetName.value) return "";
if (normalizedType.value === "uxdb" && isDark.value) return webPath("/icons/database/uxdb-dark.svg");
return webPath(assetName.value.includes(".") ? `/icons/database/${assetName.value}` : `/icons/database/${assetName.value}.svg`);
});
const letter = computed(() => letterIcons[normalizedType.value]);
@@ -683,7 +683,7 @@ const defaultValuePresets = computed((): DefaultValuePreset[] => {
});
function isPostgresIdentityType(dbType: string | undefined): boolean {
return dbType === "postgres" || dbType === "gaussdb" || dbType === "kwdb" || dbType === "opengauss" || dbType === "highgo" || dbType === "vastbase" || dbType === "kingbase";
return dbType === "postgres" || dbType === "gaussdb" || dbType === "kwdb" || dbType === "opengauss" || dbType === "highgo" || dbType === "uxdb" || dbType === "vastbase" || dbType === "kingbase";
}
const showExtendedProperties = computed(() => {