From d52e7a3b9f5cc8eef62da582453a7de00e78daf2 Mon Sep 17 00:00:00 2001 From: Jan Prochazka Date: Thu, 6 Jan 2022 08:07:09 +0100 Subject: [PATCH] designer useDbRefs WIP --- packages/web/src/designer/Designer.svelte | 22 +++++++++++++++++++ .../web/src/designer/DiagramDesigner.svelte | 1 + .../web/src/designer/QueryDesigner.svelte | 1 + 3 files changed, 24 insertions(+) diff --git a/packages/web/src/designer/Designer.svelte b/packages/web/src/designer/Designer.svelte index 24f65485c..be7479b83 100644 --- a/packages/web/src/designer/Designer.svelte +++ b/packages/web/src/designer/Designer.svelte @@ -79,9 +79,31 @@ } } + let references = current?.references; + if (settings?.useDatabaseReferences) { + references = []; + for (const table of newTables) { + for (const fk of table.foreignKeys) { + const dst = newTables.find(x => x.pureName == fk.refTableName && x.schemaName == fk.refSchemaName); + if (!dst) continue; + references.push({ + designerId: uuidv1(), + sourceId: table.designerId, + targetId: dst.designerId, + joinType: '', + columns: fk.columns.map(col => ({ + source: col.columnName, + target: col.refColumnName, + })), + }); + } + } + } + return { ...current, tables: newTables, + references, }; }, true); } diff --git a/packages/web/src/designer/DiagramDesigner.svelte b/packages/web/src/designer/DiagramDesigner.svelte index 97a9c7ffd..ea46a3a80 100644 --- a/packages/web/src/designer/DiagramDesigner.svelte +++ b/packages/web/src/designer/DiagramDesigner.svelte @@ -10,5 +10,6 @@ allowCreateRefByDrag: false, allowTableAlias: false, updateFromDbInfo: true, + useDatabaseReferences: true, }} /> diff --git a/packages/web/src/designer/QueryDesigner.svelte b/packages/web/src/designer/QueryDesigner.svelte index fc317c1f5..898fea18f 100644 --- a/packages/web/src/designer/QueryDesigner.svelte +++ b/packages/web/src/designer/QueryDesigner.svelte @@ -10,5 +10,6 @@ allowCreateRefByDrag: true, allowTableAlias: true, updateFromDbInfo: false, + useDatabaseReferences: false, }} />