feat(connection): select new databases when visible

This commit is contained in:
二丫讲梵 authored and GitHub committed 2026-07-08 22:51:45 +08:00
1 parent 08067320f8
commit 843babf522
4 files changed
+32 -1

No files matched your search

@@ -61,6 +61,7 @@ import { kvRootNodeLabel } from "@/lib/kv/kvRootPresentation";
import { REDIS_SCAN_PAGE_SIZE_DEFAULT } from "@/lib/redis/redisKeyPattern";
import { appendAgentDriverUpdateHint, hasAgentDriverUpdate, type AgentDriverInstallState } from "@/lib/connection/agentDriverInstallHint";
import { appendConnectionErrorHints } from "@/lib/connection/connectionErrorHints";
import { appendVisibleDatabaseSelection } from "@/lib/connection/connectionVisibleDatabases";
import { createMetadataLoadTrace, logMetadataLoadTrace, MetadataLoadCoordinator, type MetadataLoadTraceLogger } from "@/lib/metadata/metadataLoadCoordinator";
import type { MetadataScopeInput } from "@/lib/metadata/metadataLoadScope";
import { MetadataResultCache, type MetadataCacheInvalidation } from "@/lib/metadata/metadataResultCache";
@@ -1637,6 +1638,14 @@ export const useConnectionStore = defineStore("connection", () => {
await reloadConnectionDatabaseChildren(connectionId);
}
async function ensureVisibleDatabase(connectionId: string, databaseName: string) {
const config = getConfig(connectionId);
if (!config) return;
const visibleDatabases = appendVisibleDatabaseSelection(config.visible_databases, databaseName);
if (visibleDatabases === config.visible_databases) return;
await updateVisibleDatabasesConfig(connectionId, visibleDatabases);
}
async function updateVisibleDatabasesConfig(connectionId: string, visibleDatabases: string[] | undefined) {
const idx = connections.value.findIndex((connection) => connection.id === connectionId);
if (idx < 0) return;
@@ -4776,6 +4785,7 @@ export const useConnectionStore = defineStore("connection", () => {
isDefaultDatabase,
setVisibleDatabases,
clearVisibleDatabases,
ensureVisibleDatabase,
setVisibleSchemas,
clearVisibleSchemas,
removeConnection,