fix(structure): default edit view to DDL

This commit is contained in:
gggaiitx authored and GitHub committed 2026-07-10 18:14:18 +08:00
1 parent 34cf69132d
commit 2f3d1de46a
4 files changed
+139 -31

No files matched your search

@@ -1,4 +1,4 @@
import type { DatabaseType } from "@/types/database";
import type { DatabaseType, TableInfoTab } from "@/types/database";
export interface TableMetadataCapabilities {
columns: boolean;
@@ -71,3 +71,16 @@ const capabilityByType: Partial<Record<DatabaseType, Partial<TableMetadataCapabi
export function getTableMetadataCapabilities(dbType?: DatabaseType): TableMetadataCapabilities {
return { ...defaultCapabilities, ...(dbType ? capabilityByType[dbType] : undefined) };
}
export function firstStructureMetadataTab(capabilities: TableMetadataCapabilities, isCreateMode: boolean): TableInfoTab {
if (!isCreateMode && capabilities.ddl) return "ddl";
if (capabilities.columns) return "columns";
if (capabilities.indexes) return "indexes";
if (capabilities.foreignKeys) return "foreignKeys";
if (capabilities.triggers) return "triggers";
return "columns";
}
export function isStructureMetadataTabSupported(tab: TableInfoTab, capabilities: TableMetadataCapabilities, isCreateMode: boolean): boolean {
return (tab === "columns" && capabilities.columns) || (tab === "indexes" && capabilities.indexes) || (tab === "foreignKeys" && capabilities.foreignKeys) || (tab === "triggers" && capabilities.triggers) || (tab === "ddl" && capabilities.ddl && !isCreateMode);
}