From 319f3f5cf305c03c44d2d8c0184ef4c9d928dfc0 Mon Sep 17 00:00:00 2001 From: 1ilit <1ilit@proton.me> Date: Mon, 20 Jan 2025 17:54:04 +0400 Subject: [PATCH] Update relationship naming convention(#331) --- src/components/EditorCanvas/Canvas.jsx | 4 ++-- .../RelationshipsTab/RelationshipInfo.jsx | 6 +++--- src/utils/importSQL/mariadb.js | 9 ++++++--- src/utils/importSQL/mssql.js | 6 ++++-- src/utils/importSQL/mysql.js | 9 ++++++--- src/utils/importSQL/postgres.js | 9 ++++++--- src/utils/importSQL/sqlite.js | 3 ++- 7 files changed, 29 insertions(+), 17 deletions(-) diff --git a/src/components/EditorCanvas/Canvas.jsx b/src/components/EditorCanvas/Canvas.jsx index 2a675167..78dbd318 100644 --- a/src/components/EditorCanvas/Canvas.jsx +++ b/src/components/EditorCanvas/Canvas.jsx @@ -431,9 +431,9 @@ export default function Canvas() { cardinality: Cardinality.ONE_TO_ONE, updateConstraint: Constraint.NONE, deleteConstraint: Constraint.NONE, - name: `${tables[linkingLine.startTableId].name}_${ + name: `fk_${tables[linkingLine.startTableId].name}_${ tables[linkingLine.startTableId].fields[linkingLine.startFieldId].name - }_fk`, + }_${tables[hoveredTable.tableId].name}`, id: relationships.length, }; delete newRelationship.startX; diff --git a/src/components/EditorSidePanel/RelationshipsTab/RelationshipInfo.jsx b/src/components/EditorSidePanel/RelationshipsTab/RelationshipInfo.jsx index fe9ec9ae..ac37b8e6 100644 --- a/src/components/EditorSidePanel/RelationshipsTab/RelationshipInfo.jsx +++ b/src/components/EditorSidePanel/RelationshipsTab/RelationshipInfo.jsx @@ -61,9 +61,9 @@ export default function RelationshipInfo({ data }) { idx === data.id ? { ...e, - name: `${tables[e.startTableId].name}_${ - tables[e.startTableId].fields[e.startFieldId].name - }_fk`, + name: `fk_${tables[e.endTableId].name}_${ + tables[e.endTableId].fields[e.endFieldId].name + }_${tables[e.startTableId].name}`, startTableId: e.endTableId, startFieldId: e.endFieldId, endTableId: e.startTableId, diff --git a/src/utils/importSQL/mariadb.js b/src/utils/importSQL/mariadb.js index 0bcf4a12..bdc28362 100644 --- a/src/utils/importSQL/mariadb.js +++ b/src/utils/importSQL/mariadb.js @@ -126,7 +126,8 @@ export function fromMariaDB(ast, diagramDb = DB.GENERIC) { ); if (startFieldId === -1) return; - relationship.name = startTable + "_" + startField + "_fk"; + relationship.name = + "fk_" + startTable + "_" + startField + "_" + endTable; relationship.startTableId = startTableId; relationship.endTableId = endTableId; relationship.endFieldId = endFieldId; @@ -187,7 +188,8 @@ export function fromMariaDB(ast, diagramDb = DB.GENERIC) { e.expr.forEach((expr) => { if ( expr.action === "add" && - expr.create_definitions.constraint_type.toLowerCase() === "foreign key" + expr.create_definitions.constraint_type.toLowerCase() === + "foreign key" ) { const relationship = {}; const startTable = e.table[0].table; @@ -230,7 +232,8 @@ export function fromMariaDB(ast, diagramDb = DB.GENERIC) { ); if (startFieldId === -1) return; - relationship.name = startTable + "_" + startField + "_fk"; + relationship.name = + "fk_" + startTable + "_" + startField + "_" + endTable; relationship.startTableId = startTableId; relationship.startFieldId = startFieldId; relationship.endTableId = endTableId; diff --git a/src/utils/importSQL/mssql.js b/src/utils/importSQL/mssql.js index fa5d1fd2..5f61e0fd 100644 --- a/src/utils/importSQL/mssql.js +++ b/src/utils/importSQL/mssql.js @@ -138,7 +138,8 @@ export function fromMSSQL(ast, diagramDb = DB.GENERIC) { ); if (startFieldId === -1) return; - relationship.name = startTable + "_" + startField + "_fk"; + relationship.name = + "fk_" + startTable + "_" + startField + "_" + endTable; relationship.startTableId = startTableId; relationship.endTableId = endTableId; relationship.endFieldId = endFieldId; @@ -243,7 +244,8 @@ export function fromMSSQL(ast, diagramDb = DB.GENERIC) { ); if (startFieldId === -1) return; - relationship.name = startTable + "_" + startField + "_fk"; + relationship.name = + "fk_" + startTable + "_" + startField + "_" + endTable; relationship.startTableId = startTableId; relationship.startFieldId = startFieldId; relationship.endTableId = endTableId; diff --git a/src/utils/importSQL/mysql.js b/src/utils/importSQL/mysql.js index 075b3789..aac8fa0a 100644 --- a/src/utils/importSQL/mysql.js +++ b/src/utils/importSQL/mysql.js @@ -126,7 +126,8 @@ export function fromMySQL(ast, diagramDb = DB.GENERIC) { ); if (startFieldId === -1) return; - relationship.name = startTable + "_" + startField + "_fk"; + relationship.name = + "fk_" + startTable + "_" + startField + "_" + endTable; relationship.startTableId = startTableId; relationship.endTableId = endTableId; relationship.endFieldId = endFieldId; @@ -187,7 +188,8 @@ export function fromMySQL(ast, diagramDb = DB.GENERIC) { e.expr.forEach((expr) => { if ( expr.action === "add" && - expr.create_definitions.constraint_type.toLowerCase() === "foreign key" + expr.create_definitions.constraint_type.toLowerCase() === + "foreign key" ) { const relationship = {}; const startTable = e.table[0].table; @@ -230,7 +232,8 @@ export function fromMySQL(ast, diagramDb = DB.GENERIC) { ); if (startFieldId === -1) return; - relationship.name = startTable + "_" + startField + "_fk"; + relationship.name = + "fk_" + startTable + "_" + startField + "_" + endTable; relationship.startTableId = startTableId; relationship.startFieldId = startFieldId; relationship.endTableId = endTableId; diff --git a/src/utils/importSQL/postgres.js b/src/utils/importSQL/postgres.js index 3ac7a4b5..7ac90526 100644 --- a/src/utils/importSQL/postgres.js +++ b/src/utils/importSQL/postgres.js @@ -129,7 +129,8 @@ export function fromPostgres(ast, diagramDb = DB.GENERIC) { ); if (startFieldId === -1) return; - relationship.name = startTable + "_" + startField + "_fk"; + relationship.name = + "fk_" + startTable + "_" + startField + "_" + endTable; relationship.startTableId = startTableId; relationship.endTableId = endTableId; relationship.endFieldId = endFieldId; @@ -199,7 +200,8 @@ export function fromPostgres(ast, diagramDb = DB.GENERIC) { ); if (startFieldId === -1) return; - relationship.name = startTable + "_" + startField + "_fk"; + relationship.name = + "fk_" + startTable + "_" + startField + "_" + endTable; relationship.startTableId = startTableId; relationship.startFieldId = startFieldId; relationship.endTableId = endTableId; @@ -326,7 +328,8 @@ export function fromPostgres(ast, diagramDb = DB.GENERIC) { ); if (startFieldId === -1) return; - relationship.name = startTable + "_" + startField + "_fk"; + relationship.name = + "fk_" + startTable + "_" + startField + "_" + endTable; relationship.startTableId = startTableId; relationship.startFieldId = startFieldId; relationship.endTableId = endTableId; diff --git a/src/utils/importSQL/sqlite.js b/src/utils/importSQL/sqlite.js index 93af6ab1..00a0e4e4 100644 --- a/src/utils/importSQL/sqlite.js +++ b/src/utils/importSQL/sqlite.js @@ -62,7 +62,8 @@ export function fromSQLite(ast, diagramDb = DB.GENERIC) { ); if (startFieldId === -1) return; - relationship.name = startTable.name + "_" + startFieldName + "_fk"; + relationship.name = + "fk_" + startTable.name + "_" + startFieldName + "_" + endTableName; relationship.startTableId = startTable.id; relationship.endTableId = endTableId; relationship.endFieldId = endFieldId;