From 9d68dd9185182efd8a7c88d06ae7725b14ba6288 Mon Sep 17 00:00:00 2001 From: zhi Date: Sun, 27 Oct 2024 12:04:04 +0800 Subject: [PATCH] Fix foreign key comparison case sensitive SQL keywords are case insensitive although they are often written in all caps. Object return from node-sql-parser is actually case sensitive based on the imported sql, thus "foreign key" doesn't work as expected. --- src/utils/importSQL/mysql.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/utils/importSQL/mysql.js b/src/utils/importSQL/mysql.js index f8b3715..075b378 100644 --- a/src/utils/importSQL/mysql.js +++ b/src/utils/importSQL/mysql.js @@ -105,7 +105,7 @@ export function fromMySQL(ast, diagramDb = DB.GENERIC) { } }); }); - } else if (d.constraint_type === "FOREIGN KEY") { + } else if (d.constraint_type.toLowerCase() === "foreign key") { const relationship = {}; const startTableId = table.id; const startTable = e.table[0].table; @@ -187,7 +187,7 @@ export function fromMySQL(ast, diagramDb = DB.GENERIC) { e.expr.forEach((expr) => { if ( expr.action === "add" && - expr.create_definitions.constraint_type === "FOREIGN KEY" + expr.create_definitions.constraint_type.toLowerCase() === "foreign key" ) { const relationship = {}; const startTable = e.table[0].table;