fix(sidebar): avoid opening schema browser from pg database

This commit is contained in:
t8y2
2026-05-17 15:13:16 +08:00
parent 52033f0846
commit 153daf6c09
3 changed files with 17 additions and 6 deletions
+2 -5
View File
@@ -76,7 +76,7 @@ import {
supportsDatabaseCreation,
supportsDatabaseSearch,
supportsFieldLineage,
supportsObjectBrowser,
supportsObjectBrowserTreeNode,
supportsSchemaDiagram,
supportsSqlFileExecution,
supportsTableImport,
@@ -1283,10 +1283,7 @@ const canOpenDatabaseSearch = computed(() => {
return !!props.node.database && supportsDatabaseSearch(nodeConfig.value?.db_type);
});
const canOpenObjectBrowser = computed(() => {
return (
(props.node.type === "database" || props.node.type === "schema" || props.node.type === "object-browser") &&
supportsObjectBrowser(nodeConfig.value?.db_type)
);
return supportsObjectBrowserTreeNode(nodeConfig.value?.db_type, props.node.type);
});
const canOpenTableImport = computed(() => {
return props.node.type === "table" && !!props.node.database && supportsTableImport(nodeConfig.value?.db_type);
+7 -1
View File
@@ -1,4 +1,4 @@
import type { DatabaseType } from "@/types/database";
import type { DatabaseType, TreeNodeType } from "@/types/database";
import {
AGENT_DRIVER_TYPES,
CREATE_DATABASE_SUPPORTED_TYPES,
@@ -72,6 +72,12 @@ export function supportsObjectBrowser(dbType?: DatabaseType): boolean {
return !!dbType && !["redis", "mongodb", "elasticsearch"].includes(dbType);
}
export function supportsObjectBrowserTreeNode(dbType: DatabaseType | undefined, nodeType: TreeNodeType): boolean {
if (!supportsObjectBrowser(dbType)) return false;
if (nodeType === "database" && isSchemaAware(dbType)) return false;
return nodeType === "database" || nodeType === "schema" || nodeType === "object-browser";
}
export function supportsTableTruncate(dbType?: DatabaseType): boolean {
return !!dbType && dbType !== "sqlite" && dbType !== "duckdb";
}