From 6aab94b3a8e043c030bd9c0422b17149b3429654 Mon Sep 17 00:00:00 2001 From: zipg Date: Sun, 20 Sep 2026 19:12:51 +0800 Subject: [PATCH] feat(diagram): show table and column comments on cards --- .../diagram/SchemaDiagramDialog.vue | 16 ++-- .../src/components/diagram/TableNode.vue | 41 ++++++---- .../diagram/__tests__/diagramComments.spec.ts | 69 ++++++++++++++++ .../src/lib/diagram/diagram-constants.ts | 43 +++++++++- apps/desktop/src/lib/diagram/elk-layout.ts | 15 ++-- apps/desktop/src/lib/diagram/erDiagram.ts | 2 + .../src/lib/diagram/ltr-auto-layout.ts | 5 +- .../src/lib/export/diagramSvgExport.ts | 60 ++++++++------ docs/screenshots/issue-9672-after.png | Bin 0 -> 88980 bytes docs/screenshots/issue-9672-before.png | Bin 0 -> 73183 bytes docs/screenshots/issue-9672-svg-export.png | Bin 0 -> 17003 bytes packages/app-tests/diagramSvgExport.test.ts | 77 +++++++++++++++++- 12 files changed, 273 insertions(+), 55 deletions(-) create mode 100644 apps/desktop/src/lib/diagram/__tests__/diagramComments.spec.ts create mode 100644 docs/screenshots/issue-9672-after.png create mode 100644 docs/screenshots/issue-9672-before.png create mode 100644 docs/screenshots/issue-9672-svg-export.png diff --git a/apps/desktop/src/components/diagram/SchemaDiagramDialog.vue b/apps/desktop/src/components/diagram/SchemaDiagramDialog.vue index ece9030116..39a5695879 100644 --- a/apps/desktop/src/components/diagram/SchemaDiagramDialog.vue +++ b/apps/desktop/src/components/diagram/SchemaDiagramDialog.vue @@ -35,7 +35,7 @@ import { saveDiagramBinaryExport, saveDiagramTextExport } from "@/lib/export/sav import { inferRelationships, filterByStorage } from "@/lib/diagram/match-engine"; import { loadMatchConfirms, saveMatchConfirms, loadMatchIgnores, saveMatchIgnores, isAutoMatchEnabled } from "@/lib/diagram/match-storage"; import { toVueFlowNodes, toVueFlowEdges, toDiagramEdges, toVueFlowLayerNodes, toAbsolutePosition, isTableCanvasVisible } from "@/lib/diagram/vue-flow-adapter"; -import { CARD_WIDTH, CARD_HEADER_HEIGHT, COLUMN_ROW_HEIGHT, CARD_BOTTOM_PADDING, GAP_X, GAP_Y, MARGIN, LAYER_CONTENT_PADDING, LAYER_HEADER_HEIGHT, DIAGRAM_HOVERED_EDGE_KEY, DIAGRAM_EDGE_OBSTACLES_KEY } from "@/lib/diagram/diagram-constants"; +import { CARD_WIDTH, CARD_HEADER_HEIGHT, COLUMN_ROW_HEIGHT, CARD_BOTTOM_PADDING, GAP_X, GAP_Y, MARGIN, LAYER_CONTENT_PADDING, LAYER_HEADER_HEIGHT, DIAGRAM_HOVERED_EDGE_KEY, DIAGRAM_EDGE_OBSTACLES_KEY, diagramTableCardHeight } from "@/lib/diagram/diagram-constants"; import { sizeLayerToFit, findLayerAtPoint, placeNewLayer } from "@/lib/diagram/size-layer"; import { computeLtrAutoLayout } from "@/lib/diagram/ltr-auto-layout"; import { computeLayoutWithLayers } from "@/lib/diagram/elk-layout"; @@ -530,7 +530,9 @@ const customRelationshipCount = computed(() => customRelationships.value.length) const matchRelationshipCount = computed(() => matchResult.value.relationships.length); function tableHeight(table: DiagramTable): number { - return CARD_HEADER_HEIGHT + table.columns.length * COLUMN_ROW_HEIGHT + CARD_BOTTOM_PADDING; + // Includes the rendered table/column comment lines so canvas bounds, layers, + // edge routing and auto layout match the card height. + return diagramTableCardHeight(table); } const canvasSize = computed(() => { @@ -1345,7 +1347,7 @@ async function setSelectedSchemas(values: string[]) { if (diagramReady.value) await loadDiagram(); } -async function loadTableDiagramData(tableName: string, querySchema: string): Promise { +async function loadTableDiagramData(tableName: string, querySchema: string, tableComment?: string | null): Promise { try { const [columns, foreignKeys, indexes] = await Promise.all([ api.getColumns(connectionId.value, database.value, querySchema, tableName), @@ -1355,6 +1357,7 @@ async function loadTableDiagramData(tableName: string, querySchema: string): Pro return { name: tableName, schema: querySchema, + comment: tableComment ?? null, columns, foreignKeys, indexes: indexes.map((index) => ({ @@ -1374,7 +1377,7 @@ async function loadTableDiagramData(tableName: string, querySchema: string): Pro } catch (e) { failedTableCount.value += 1; console.warn(`[diagram] failed to load table metadata: ${querySchema}.${tableName}`, e); - return { name: tableName, schema: querySchema, columns: [], foreignKeys: [], indexes: [] }; + return { name: tableName, schema: querySchema, comment: tableComment ?? null, columns: [], foreignKeys: [], indexes: [] }; } } @@ -1395,7 +1398,8 @@ async function loadDiagram() { targetSchemas.map(async (sc) => { try { const list = await api.listTables(connectionId.value, database.value, sc); - return list.filter((table) => table.table_type !== "VIEW" && table.table_type !== "MATERIALIZED_VIEW").map((table) => ({ name: table.name, schema: sc })); + // Keep the table comment so the card can render the table description. + return list.filter((table) => table.table_type !== "VIEW" && table.table_type !== "MATERIALIZED_VIEW").map((table) => ({ name: table.name, schema: sc, comment: table.comment ?? null })); } catch (e) { console.warn(`[diagram] failed to list tables for schema ${sc}`, e); return []; @@ -1411,7 +1415,7 @@ async function loadDiagram() { const loadedTables: DiagramTable[] = []; for (let index = 0; index < baseTables.length; index += METADATA_BATCH_SIZE) { const batch = baseTables.slice(index, index + METADATA_BATCH_SIZE); - const batchTables = await Promise.all(batch.map((item) => loadTableDiagramData(item.name, item.schema))); + const batchTables = await Promise.all(batch.map((item) => loadTableDiagramData(item.name, item.schema, item.comment))); loadedTables.push(...batchTables); loadedTableCount.value = loadedTables.length; } diff --git a/apps/desktop/src/components/diagram/TableNode.vue b/apps/desktop/src/components/diagram/TableNode.vue index 9863210334..d2e60ec983 100644 --- a/apps/desktop/src/components/diagram/TableNode.vue +++ b/apps/desktop/src/components/diagram/TableNode.vue @@ -4,10 +4,10 @@ import { Handle, Position } from "@vue-flow/core"; import { Table2, KeyRound, Link2 } from "@lucide/vue"; import { Badge } from "@/components/ui/badge"; import type { DiagramTable, DiagramRelationship } from "@/lib/diagram/erDiagram"; -import { isDraftTable, isDroppedColumn } from "@/lib/diagram/erDiagram"; +import { isDraftTable } from "@/lib/diagram/erDiagram"; import type { InferredRelationship } from "@/types/diagram"; import { useLayerStore } from "@/lib/diagram/layer-store"; -import { CARD_WIDTH, COLUMN_TYPE_WIDTH, COLUMN_NAME_MAX_CHARS, COLUMN_TYPE_MAX_CHARS, TABLE_NAME_MAX_CHARS, EDGE_HANDLE_OUTSET } from "@/lib/diagram/diagram-constants"; +import { CARD_WIDTH, COLUMN_TYPE_WIDTH, COLUMN_NAME_MAX_CHARS, COLUMN_TYPE_MAX_CHARS, TABLE_NAME_MAX_CHARS, EDGE_HANDLE_OUTSET, diagramVisibleColumns } from "@/lib/diagram/diagram-constants"; const layerStore = useLayerStore(); @@ -26,7 +26,12 @@ const emit = defineEmits<{ const isDraft = computed(() => isDraftTable(props.data.table)); function visibleColumns(table: DiagramTable) { - return table.columns.filter((column) => !isDroppedColumn(table, column.name)); + return diagramVisibleColumns(table); +} + +/** Comments are optional metadata; blank/whitespace-only values render nothing. */ +function commentText(value: string | null | undefined): string { + return typeof value === "string" ? value.trim() : ""; } function isForeignKeyColumn(table: DiagramTable, columnName: string): boolean { @@ -86,18 +91,26 @@ const handleOffsetStyle = computed(() => Draft {{ visibleColumns(data.table).length }} +
+ {{ commentText(data.table.comment) }} +
-
- - - - - - {{ truncateLabel(column.name, COLUMN_NAME_MAX_CHARS) }} - - - {{ truncateLabel(column.data_type, COLUMN_TYPE_MAX_CHARS) }} - +
+
+ + + + + + {{ truncateLabel(column.name, COLUMN_NAME_MAX_CHARS) }} + + + {{ truncateLabel(column.data_type, COLUMN_TYPE_MAX_CHARS) }} + +
+
+ {{ commentText(column.comment) }} +
diff --git a/apps/desktop/src/lib/diagram/__tests__/diagramComments.spec.ts b/apps/desktop/src/lib/diagram/__tests__/diagramComments.spec.ts new file mode 100644 index 0000000000..f0756c32ee --- /dev/null +++ b/apps/desktop/src/lib/diagram/__tests__/diagramComments.spec.ts @@ -0,0 +1,69 @@ +import { describe, expect, it } from "vitest"; +import { CARD_BOTTOM_PADDING, CARD_HEADER_HEIGHT, COLUMN_ROW_HEIGHT, COMMENT_LINE_HEIGHT, diagramTableCardHeight, diagramVisibleColumns, tableCardHeight } from "@/lib/diagram/diagram-constants"; +import type { DiagramTable } from "@/lib/diagram/erDiagram"; + +function table(overrides: Partial = {}): DiagramTable { + return { + name: "copy_src", + columns: [ + { name: "id", data_type: "bigint", is_nullable: false, column_default: null, is_primary_key: true, extra: null }, + { name: "name", data_type: "varchar(64)", is_nullable: true, column_default: null, is_primary_key: false, extra: null }, + ], + foreignKeys: [], + ...overrides, + }; +} + +describe("diagramTableCardHeight", () => { + it("matches the plain card height when nothing has a comment", () => { + expect(diagramTableCardHeight(table())).toBe(tableCardHeight(2)); + expect(diagramTableCardHeight(table())).toBe(CARD_HEADER_HEIGHT + 2 * COLUMN_ROW_HEIGHT + CARD_BOTTOM_PADDING); + }); + + it("adds one line for the table comment", () => { + expect(diagramTableCardHeight(table({ comment: "订单主表" }))).toBe(tableCardHeight(2) + COMMENT_LINE_HEIGHT); + }); + + it("adds one line per commented column", () => { + const commented = table({ + columns: [ + { name: "id", data_type: "bigint", is_nullable: false, column_default: null, is_primary_key: true, extra: null, comment: "主键ID" }, + { name: "name", data_type: "varchar(64)", is_nullable: true, column_default: null, is_primary_key: false, extra: null, comment: "下单人" }, + ], + }); + expect(diagramTableCardHeight(commented)).toBe(tableCardHeight(2) + 2 * COMMENT_LINE_HEIGHT); + + const withTableComment = table({ ...commented, comment: "测试用表" }); + expect(diagramTableCardHeight(withTableComment)).toBe(tableCardHeight(2) + 3 * COMMENT_LINE_HEIGHT); + }); + + it("ignores blank and missing comments", () => { + const blank = table({ + comment: " ", + columns: [ + { name: "id", data_type: "bigint", is_nullable: false, column_default: null, is_primary_key: true, extra: null, comment: "" }, + { name: "name", data_type: "varchar(64)", is_nullable: true, column_default: null, is_primary_key: false, extra: null, comment: "\n" }, + ], + }); + expect(diagramTableCardHeight(blank)).toBe(tableCardHeight(2)); + expect(diagramTableCardHeight(table({ comment: null }))).toBe(tableCardHeight(2)); + }); + + it("does not count columns marked for DROP COLUMN", () => { + const dropped = table({ + columns: [ + { name: "id", data_type: "bigint", is_nullable: false, column_default: null, is_primary_key: true, extra: null, comment: "主键ID" }, + { name: "note", data_type: "text", is_nullable: true, column_default: null, is_primary_key: false, extra: null, comment: "备注" }, + ], + droppedColumnNames: ["note"], + }); + expect(diagramVisibleColumns(dropped).map((column) => column.name)).toEqual(["id"]); + expect(diagramTableCardHeight(dropped)).toBe(tableCardHeight(2) + COMMENT_LINE_HEIGHT); + }); + + it("honours caller-supplied card metrics", () => { + const commented = table({ comment: "备注" }); + expect(diagramTableCardHeight(commented, { cardHeaderHeight: 44, columnRowHeight: 24, cardBottomPadding: 12, commentLineHeight: 10 })).toBe(tableCardHeight(2) + 10); + expect(tableCardHeight(3, { columnRowHeight: 10 })).toBe(CARD_HEADER_HEIGHT + 30 + CARD_BOTTOM_PADDING); + }); +}); diff --git a/apps/desktop/src/lib/diagram/diagram-constants.ts b/apps/desktop/src/lib/diagram/diagram-constants.ts index 918459ffc7..1f88462b63 100644 --- a/apps/desktop/src/lib/diagram/diagram-constants.ts +++ b/apps/desktop/src/lib/diagram/diagram-constants.ts @@ -39,8 +39,47 @@ export const LAYER_CONTENT_PADDING = 20; export const EMPTY_LAYER_WIDTH = 240; export const EMPTY_LAYER_HEIGHT = LAYER_HEADER_HEIGHT + LAYER_CONTENT_PADDING; -export function tableCardHeight(columnCount: number): number { - return CARD_HEADER_HEIGHT + columnCount * COLUMN_ROW_HEIGHT + CARD_BOTTOM_PADDING; +/** Extra card height for one rendered comment line (table comment / column comment). */ +export const COMMENT_LINE_HEIGHT = 16; + +/** Card metrics that callers (e.g. the SVG exporter) may override. */ +export interface DiagramCardMetrics { + cardHeaderHeight?: number; + columnRowHeight?: number; + cardBottomPadding?: number; + commentLineHeight?: number; +} + +export function tableCardHeight(columnCount: number, metrics: DiagramCardMetrics = {}): number { + return (metrics.cardHeaderHeight ?? CARD_HEADER_HEIGHT) + columnCount * (metrics.columnRowHeight ?? COLUMN_ROW_HEIGHT) + (metrics.cardBottomPadding ?? CARD_BOTTOM_PADDING); +} + +/** Minimal shape needed to size a card that renders table/column comments. */ +export interface DiagramCommentedTable { + comment?: string | null; + columns: readonly { name: string; comment?: string | null }[]; + /** Columns marked for DROP COLUMN stay in `columns` but are not rendered. */ + droppedColumnNames?: readonly string[]; +} + +function hasText(value: string | null | undefined): boolean { + return typeof value === "string" && value.trim().length > 0; +} + +/** Columns actually rendered on the canvas, in card order. */ +export function diagramVisibleColumns(table: { columns: readonly T[]; droppedColumnNames?: readonly string[] }): T[] { + const dropped = table.droppedColumnNames ?? []; + return table.columns.filter((column) => !dropped.some((name) => name === column.name)); +} + +/** + * Card height including the table comment line and the per-column comment lines, + * so the canvas bounds, layer boxes, edge routing and auto layout all agree with + * what `TableNode` renders. + */ +export function diagramTableCardHeight(table: DiagramCommentedTable, metrics: DiagramCardMetrics = {}): number { + const commentLines = (hasText(table.comment) ? 1 : 0) + diagramVisibleColumns(table).filter((column) => hasText(column.comment)).length; + return tableCardHeight(table.columns.length, metrics) + commentLines * (metrics.commentLineHeight ?? COMMENT_LINE_HEIGHT); } /** LTR wrap column count from available canvas width (at least 1). */ diff --git a/apps/desktop/src/lib/diagram/elk-layout.ts b/apps/desktop/src/lib/diagram/elk-layout.ts index 26659ffd70..ee568fa33c 100644 --- a/apps/desktop/src/lib/diagram/elk-layout.ts +++ b/apps/desktop/src/lib/diagram/elk-layout.ts @@ -1,6 +1,6 @@ import ELK from "elkjs/lib/elk.bundled.js"; import type { LayoutOptions, DiagramNode, DiagramEdge, DiagramLayer } from "@/types/diagram"; -import { CARD_WIDTH, COLUMN_ROW_HEIGHT, CARD_HEADER_HEIGHT, CARD_BOTTOM_PADDING, LAYER_PADDING, LAYER_HEADER_HEIGHT } from "./diagram-constants"; +import { CARD_WIDTH, LAYER_PADDING, LAYER_HEADER_HEIGHT, diagramTableCardHeight, tableCardHeight, type DiagramCommentedTable } from "./diagram-constants"; import { handlesFromWaypoints, type Point } from "./edge-obstacle-router"; const elk = new ELK(); @@ -45,8 +45,9 @@ export interface LayerLayoutInfo { height: number; } -function calculateTableHeight(tableColumns: unknown[]): number { - return CARD_HEADER_HEIGHT + tableColumns.length * COLUMN_ROW_HEIGHT + CARD_BOTTOM_PADDING; +function calculateTableHeight(table?: DiagramCommentedTable): number { + if (!table) return tableCardHeight(0); + return diagramTableCardHeight(table); } export async function computeLayout(nodes: DiagramNode[], edges: DiagramEdge[], options: LayoutOptions = {}): Promise<{ nodes: DiagramNode[]; edges: DiagramEdge[] }> { @@ -121,7 +122,7 @@ export async function computeLayoutWithLayers(nodes: DiagramNode[], edges: Diagr const pos = positionMap.get(tableName) || node?.position; if (!pos) continue; hasAny = true; - const height = calculateTableHeight(node?.data?.table?.columns || []); + const height = calculateTableHeight(node?.data?.table); minX = Math.min(minX, pos.x); minY = Math.min(minY, pos.y); maxX = Math.max(maxX, pos.x + CARD_WIDTH); @@ -173,7 +174,7 @@ function buildElkGraph(nodes: DiagramNode[], edges: DiagramEdge[]): ElkGraph { const elkNodes: ElkNode[] = nodes.map((node) => ({ id: node.id, width: CARD_WIDTH, - height: calculateTableHeight(node.data?.table?.columns || []), + height: calculateTableHeight(node.data?.table), })); const elkEdges: ElkEdge[] = edges.map((edge) => ({ @@ -200,7 +201,7 @@ function buildHierarchicalElkGraph(nodes: DiagramNode[], edges: DiagramEdge[], a const elkTableNodes = layerTables.map((tableNode) => ({ id: tableNode.id, width: CARD_WIDTH, - height: calculateTableHeight(tableNode.data?.table?.columns || []), + height: calculateTableHeight(tableNode.data?.table), })); layerTables.forEach((n) => tableIdSet.add(n.id)); @@ -221,7 +222,7 @@ function buildHierarchicalElkGraph(nodes: DiagramNode[], edges: DiagramEdge[], a const unassignedElkNodes = unassignedNodes.map((node) => ({ id: node.id, width: CARD_WIDTH, - height: calculateTableHeight(node.data?.table?.columns || []), + height: calculateTableHeight(node.data?.table), })); return { diff --git a/apps/desktop/src/lib/diagram/erDiagram.ts b/apps/desktop/src/lib/diagram/erDiagram.ts index 3cafda7393..fe1154e176 100644 --- a/apps/desktop/src/lib/diagram/erDiagram.ts +++ b/apps/desktop/src/lib/diagram/erDiagram.ts @@ -17,6 +17,8 @@ export function editableStructureIndexes(table: DiagramTable): EditableStructure export interface DiagramTable { name: string; schema?: string; + /** Table description (`TABLE_COMMENT` and friends); rendered under the card title. */ + comment?: string | null; columns: ColumnInfo[]; foreignKeys: ForeignKeyInfo[]; /** Unique/PK indexes used for FK cardinality; drafts also sync via buildCreateTableSql */ diff --git a/apps/desktop/src/lib/diagram/ltr-auto-layout.ts b/apps/desktop/src/lib/diagram/ltr-auto-layout.ts index 29fba284b7..d0a587eb05 100644 --- a/apps/desktop/src/lib/diagram/ltr-auto-layout.ts +++ b/apps/desktop/src/lib/diagram/ltr-auto-layout.ts @@ -2,7 +2,7 @@ import type { DiagramLayer } from "@/types/diagram"; import type { DiagramPosition, DiagramTable } from "@/lib/diagram/erDiagram"; import { layoutDiagramTables } from "@/lib/diagram/erDiagram"; import { sizeLayerToFit } from "@/lib/diagram/size-layer"; -import { CARD_WIDTH, EMPTY_LAYER_HEIGHT, EMPTY_LAYER_WIDTH, GAP_X, GAP_Y, LAYER_CONTENT_PADDING, LAYER_HEADER_HEIGHT, MARGIN, columnsPerRowForWidth, tableCardHeight } from "@/lib/diagram/diagram-constants"; +import { CARD_WIDTH, EMPTY_LAYER_HEIGHT, EMPTY_LAYER_WIDTH, GAP_X, GAP_Y, LAYER_CONTENT_PADDING, LAYER_HEADER_HEIGHT, MARGIN, columnsPerRowForWidth, diagramTableCardHeight } from "@/lib/diagram/diagram-constants"; export interface LtrAutoLayoutInput { tables: DiagramTable[]; @@ -30,7 +30,8 @@ type LayerBox = { function tableHeightsMap(tables: DiagramTable[]): Record { const heights: Record = {}; for (const table of tables) { - heights[table.name] = tableCardHeight(table.columns?.length ?? 0); + // Comment lines are part of the rendered card, so layers and row wrapping include them. + heights[table.name] = diagramTableCardHeight(table); } return heights; } diff --git a/apps/desktop/src/lib/export/diagramSvgExport.ts b/apps/desktop/src/lib/export/diagramSvgExport.ts index 2a244bbdd1..ccc118e571 100644 --- a/apps/desktop/src/lib/export/diagramSvgExport.ts +++ b/apps/desktop/src/lib/export/diagramSvgExport.ts @@ -2,7 +2,7 @@ import type { EngineeringDiagram, EngineeringEntityNode } from "@/lib/diagram/en import { isDroppedColumn, type DiagramPosition, type DiagramRelationship, type DiagramTable } from "@/lib/diagram/erDiagram"; import { pickHandles } from "@/lib/diagram/vue-flow-adapter"; import { pointAlongPolyline, pointsToSvgPath, type Point } from "@/lib/diagram/edge-obstacle-router"; -import { CARD_BOTTOM_PADDING, CARD_HEADER_HEIGHT, CARD_WIDTH, COLUMN_ROW_HEIGHT, MARGIN } from "@/lib/diagram/diagram-constants"; +import { CARD_WIDTH, COMMENT_LINE_HEIGHT, MARGIN, diagramTableCardHeight, tableCardHeight, type DiagramCardMetrics } from "@/lib/diagram/diagram-constants"; const SOURCE_CARDINALITY_T = 0.18; const TARGET_CARDINALITY_T = 0.82; @@ -39,6 +39,11 @@ function tableExportKey(table: DiagramSvgTable): string { return table.diagramKey || table.name; } +/** Comments are optional metadata; blank/whitespace-only values render nothing. */ +function commentText(value: string | null | undefined): string { + return typeof value === "string" ? value.trim() : ""; +} + /** Columns the card actually renders: pending-drop columns are hidden on the canvas too. */ function tableExportColumns(table: DiagramTable): DiagramTable["columns"] { return table.columns.filter((column) => !isDroppedColumn(table, column.name)); @@ -56,15 +61,11 @@ export interface TableDiagramSvgOptions { cardHeaderHeight: number; columnRowHeight: number; cardBottomPadding?: number; + /** Extra height for a rendered table/column comment line. */ + commentLineHeight?: number; layers?: DiagramSvgLayer[]; } -type CardHeightMetrics = { - cardHeaderHeight: number; - columnRowHeight: number; - cardBottomPadding?: number; -}; - function escapeXml(value: string | number): string { return String(value).replace(/&/g, "&").replace(//g, ">").replace(/"/g, """).replace(/'/g, "'"); } @@ -101,11 +102,6 @@ function svgText( return `${escapeXml(label)}`; } -/** Shared table card height for SVG canvas / paths / cards. */ -function svgCardHeight(columnCount: number, metrics: CardHeightMetrics): number { - return metrics.cardHeaderHeight + columnCount * metrics.columnRowHeight + (metrics.cardBottomPadding ?? CARD_BOTTOM_PADDING); -} - function isForeignKeyColumn(table: DiagramTable, columnName: string): boolean { return table.foreignKeys.some((fk) => fk.column === columnName); } @@ -137,6 +133,7 @@ type RelationshipGeometryInput = { cardHeaderHeight?: number; columnRowHeight?: number; cardBottomPadding?: number; + commentLineHeight?: number; }; /** @@ -144,16 +141,17 @@ type RelationshipGeometryInput = { */ export function buildTableRelationshipPolylines(input: RelationshipGeometryInput): Record { const cardWidth = input.cardWidth ?? CARD_WIDTH; - const metrics: CardHeightMetrics = { - cardHeaderHeight: input.cardHeaderHeight ?? CARD_HEADER_HEIGHT, - columnRowHeight: input.columnRowHeight ?? COLUMN_ROW_HEIGHT, - cardBottomPadding: input.cardBottomPadding ?? CARD_BOTTOM_PADDING, + const metrics: DiagramCardMetrics = { + cardHeaderHeight: input.cardHeaderHeight, + columnRowHeight: input.columnRowHeight, + cardBottomPadding: input.cardBottomPadding, + commentLineHeight: input.commentLineHeight, }; // Relationships address tables by their diagram id, cards by their table; index both so the // routed edges match the drawn card heights in multi-schema mode too. const heightByName = new Map(); for (const table of input.tables) { - const height = svgCardHeight(tableExportColumns(table).length, metrics); + const height = diagramTableCardHeight(table, metrics); heightByName.set(tableExportKey(table), height); heightByName.set(table.name, height); } @@ -168,8 +166,8 @@ export function buildTableRelationshipPolylines(input: RelationshipGeometryInput const sourcePos = input.positions[rel.sourceTable]; const targetPos = input.positions[rel.targetTable]; if (!sourcePos || !targetPos) continue; - const sh = heightByName.get(rel.sourceTable) ?? svgCardHeight(0, metrics); - const th = heightByName.get(rel.targetTable) ?? svgCardHeight(0, metrics); + const sh = heightByName.get(rel.sourceTable) ?? tableCardHeight(0, metrics); + const th = heightByName.get(rel.targetTable) ?? tableCardHeight(0, metrics); polylines[rel.id] = orthogonalPointsBetweenTables(sourcePos, targetPos, sh, th, cardWidth); } return polylines; @@ -196,6 +194,7 @@ export function computeTableDiagramCanvas( cardHeaderHeight: number; columnRowHeight: number; cardBottomPadding?: number; + commentLineHeight?: number; layers?: DiagramSvgLayer[]; relationshipPolylines?: Record; padding?: number; @@ -221,7 +220,7 @@ export function computeTableDiagramCanvas( for (const table of tables) { const pos = positions[tableExportKey(table)] ?? positions[table.name] ?? { x: 0, y: 0 }; - const height = svgCardHeight(tableExportColumns(table).length, options); + const height = diagramTableCardHeight(table, options); expand(pos.x, pos.y, pos.x + options.cardWidth, pos.y + height); } @@ -304,7 +303,7 @@ export function buildTableDiagramSvg(options: TableDiagramSvgOptions): string { for (const table of options.tables) { const position = options.positions[tableExportKey(table)] ?? options.positions[table.name] ?? { x: 0, y: 0 }; const columns = tableExportColumns(table); - const height = svgCardHeight(columns.length, options); + const height = diagramTableCardHeight(table, options); const showSchema = Boolean(table.schema) && tableExportKey(table) !== table.name; const nameY = options.cardHeaderHeight / 2 + (showSchema ? 6 : 0); parts.push(``); @@ -323,8 +322,17 @@ export function buildTableDiagramSvg(options: TableDiagramSvgOptions): string { }), ); - columns.forEach((column, index) => { - const rowTop = options.cardHeaderHeight + index * options.columnRowHeight; + const commentLineHeight = options.commentLineHeight ?? COMMENT_LINE_HEIGHT; + let rowTop = options.cardHeaderHeight; + const tableComment = commentText(table.comment); + if (tableComment) { + parts.push(``); + parts.push(``); + parts.push(svgText(tableComment, 36, rowTop + commentLineHeight / 2, { size: 9, fill: "#71717a" })); + rowTop += commentLineHeight; + } + + columns.forEach((column) => { const rowCenter = rowTop + options.columnRowHeight / 2; parts.push(``); if (column.is_primary_key) { @@ -340,6 +348,12 @@ export function buildTableDiagramSvg(options: TableDiagramSvgOptions): string { anchor: "end", }), ); + rowTop += options.columnRowHeight; + const columnComment = commentText(column.comment); + if (columnComment) { + parts.push(svgText(columnComment, 38, rowTop + commentLineHeight / 2, { size: 9, fill: "#71717a" })); + rowTop += commentLineHeight; + } }); parts.push(""); } diff --git a/docs/screenshots/issue-9672-after.png b/docs/screenshots/issue-9672-after.png new file mode 100644 index 0000000000000000000000000000000000000000..65e78a700fb322bd042c8a045d9cdc70a87c1a12 GIT binary patch literal 88980 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 X?LC2~t-xcd85lfW{an^LB{Ts52|kl; literal 0 HcmV?d00001 diff --git a/docs/screenshots/issue-9672-before.png b/docs/screenshots/issue-9672-before.png new file mode 100644 index 0000000000000000000000000000000000000000..7402a644f11d71fd4468735ad5b2e7dc72dc34ad GIT binary patch literal 73183 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 ai0~K;(LrYMoo_54 { + const relationships = buildDiagramRelationships(commentedTables); + const positions = { copy_src: { x: 40, y: 40 }, copy_dst: { x: 460, y: 40 } }; + const svg = buildTableDiagramSvg({ + tables: commentedTables, + relationships, + positions, + relationshipPaths: { [relationships[0].id]: "M 400 96 L 460 96" }, + canvas: { width: 900, height: 400 }, + cardWidth: CARD_WIDTH, + cardHeaderHeight: CARD_HEADER_HEIGHT, + columnRowHeight: COLUMN_ROW_HEIGHT, + }); + + assert.match(svg, />复制源表主键ID名称目标主键 { + const positions = { copy_src: { x: 0, y: 0 } }; + const canvas = computeTableDiagramCanvas([commentedTables[0]], positions, { + cardWidth: CARD_WIDTH, + cardHeaderHeight: CARD_HEADER_HEIGHT, + columnRowHeight: COLUMN_ROW_HEIGHT, + }); + // 3 columns + 1 table comment + 2 column comments = 3 comment lines + const expectedHeight = CARD_HEADER_HEIGHT + 3 * COLUMN_ROW_HEIGHT + CARD_BOTTOM_PADDING + 3 * COMMENT_LINE_HEIGHT; + assert.equal(canvas.height, Math.ceil(expectedHeight + 2 * MARGIN)); +}); + +test("relationship routing measures commented card heights", () => { + const relationships = buildDiagramRelationships(commentedTables); + const positions = { copy_src: { x: 0, y: 0 }, copy_dst: { x: 400, y: 0 } }; + const withComments = buildTableRelationshipPaths({ + relationships, + positions, + tables: commentedTables, + cardWidth: CARD_WIDTH, + cardHeaderHeight: CARD_HEADER_HEIGHT, + columnRowHeight: COLUMN_ROW_HEIGHT, + }); + const withoutComments = buildTableRelationshipPaths({ + relationships, + positions, + tables: commentedTables.map((table) => ({ ...table, comment: null, columns: table.columns.map((column) => ({ ...column, comment: null })) })), + cardWidth: CARD_WIDTH, + cardHeaderHeight: CARD_HEADER_HEIGHT, + columnRowHeight: COLUMN_ROW_HEIGHT, + }); + assert.notEqual(withComments[relationships[0].id], withoutComments[relationships[0].id]); +});