From 922d49f916a749165cb91d1bdb54a850568bb5e4 Mon Sep 17 00:00:00 2001 From: Tamas Balog Date: Sun, 29 Sep 2024 14:27:25 +0200 Subject: [PATCH 1/5] Add new entries to the Hungarian localization --- src/i18n/locales/hu.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/i18n/locales/hu.js b/src/i18n/locales/hu.js index 14bd1a0c..74066542 100644 --- a/src/i18n/locales/hu.js +++ b/src/i18n/locales/hu.js @@ -236,6 +236,12 @@ const hu = { empty_index_name: "A(z) '{{tableName}}' táblában egy indexnek nincs megadva név", didnt_find_diagram: "Hoppá! A diagram nem található.", unsigned: "Előjel nélküli", + share: "Megosztás", + copy_link: "Hivatkozás másolása", + readme: "OLVASS_EL", + failed_to_load: "A betöltés sikertelen. Ellenőrizze a hivatkozás helyességét!", + share_info: + "* Ezen hivatkozás megosztása nem fog létrehozni élő, valósidejű együttműködési munkamenetet.", }, }; From 624bd1ed2c7977b665fd85cd56869512cf22ce71 Mon Sep 17 00:00:00 2001 From: csc530 <77406318+csc530@users.noreply.github.com> Date: Tue, 1 Oct 2024 21:23:45 -0400 Subject: [PATCH 2/5] fix export for enum and set types for mysql --- src/utils/exportSQL/mysql.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/utils/exportSQL/mysql.js b/src/utils/exportSQL/mysql.js index 484d4573..45f1f953 100644 --- a/src/utils/exportSQL/mysql.js +++ b/src/utils/exportSQL/mysql.js @@ -3,13 +3,14 @@ import { parseDefault } from "./shared"; import { dbToTypes } from "../../data/datatypes"; export function toMySQL(diagram) { + console.log(diagram) return `${diagram.tables .map( (table) => `CREATE TABLE \`${table.name}\` (\n${table.fields .map( (field) => - `\t\`${field.name}\` ${field.type}${field.unsigned ? " UNSIGNED" : ""}${field.size !== undefined && field.size !== "" ? "(" + field.size + ")" : ""}${ + `\t\`${field.name}\` ${field.type}${field.values ? "(" + field.values.map(value=>"'" + value + "'").join(", ") + ")" : ""}${field.unsigned ? " UNSIGNED" : ""}${field.size !== undefined && field.size !== "" ? "(" + field.size + ")" : ""}${ field.notNull ? " NOT NULL" : "" }${ field.increment ? " AUTO_INCREMENT" : "" From b37e7202762c6cfe3ae69e42e20cab3be02edd00 Mon Sep 17 00:00:00 2001 From: csc530 <77406318+csc530@users.noreply.github.com> Date: Wed, 2 Oct 2024 10:23:59 -0400 Subject: [PATCH 3/5] remove console log & format code --- src/utils/exportSQL/mysql.js | 56 +++++++++++++++--------------------- 1 file changed, 23 insertions(+), 33 deletions(-) diff --git a/src/utils/exportSQL/mysql.js b/src/utils/exportSQL/mysql.js index 45f1f953..272389fb 100644 --- a/src/utils/exportSQL/mysql.js +++ b/src/utils/exportSQL/mysql.js @@ -3,40 +3,33 @@ import { parseDefault } from "./shared"; import { dbToTypes } from "../../data/datatypes"; export function toMySQL(diagram) { - console.log(diagram) return `${diagram.tables .map( (table) => `CREATE TABLE \`${table.name}\` (\n${table.fields .map( (field) => - `\t\`${field.name}\` ${field.type}${field.values ? "(" + field.values.map(value=>"'" + value + "'").join(", ") + ")" : ""}${field.unsigned ? " UNSIGNED" : ""}${field.size !== undefined && field.size !== "" ? "(" + field.size + ")" : ""}${ - field.notNull ? " NOT NULL" : "" - }${ - field.increment ? " AUTO_INCREMENT" : "" - }${field.unique ? " UNIQUE" : ""}${ - field.default !== "" - ? ` DEFAULT ${parseDefault(field, diagram.database)}` - : "" - }${ - field.check === "" || + `\t\`${field.name}\` ${field.type}${field.values ? "(" + field.values.map(value => "'" + value + "'").join(", ") + ")" : ""}${field.unsigned ? " UNSIGNED" : ""}${field.size !== undefined && field.size !== "" ? "(" + field.size + ")" : ""}${field.notNull ? " NOT NULL" : "" + }${field.increment ? " AUTO_INCREMENT" : "" + }${field.unique ? " UNIQUE" : ""}${field.default !== "" + ? ` DEFAULT ${parseDefault(field, diagram.database)}` + : "" + }${field.check === "" || !dbToTypes[diagram.database][field.type].hasCheck - ? "" - : ` CHECK(${field.check})` + ? "" + : ` CHECK(${field.check})` }${field.comment ? ` COMMENT '${field.comment}'` : ""}`, ) - .join(",\n")}${ - table.fields.filter((f) => f.primary).length > 0 - ? `,\n\tPRIMARY KEY(${table.fields - .filter((f) => f.primary) - .map((f) => `\`${f.name}\``) - .join(", ")})` - : "" + .join(",\n")}${table.fields.filter((f) => f.primary).length > 0 + ? `,\n\tPRIMARY KEY(${table.fields + .filter((f) => f.primary) + .map((f) => `\`${f.name}\``) + .join(", ")})` + : "" }\n)${table.comment ? ` COMMENT='${table.comment}'` : ""};\n${`\n${table.indices .map( (i) => - `\nCREATE ${i.unique ? "UNIQUE " : ""}INDEX \`${ - i.name + `\nCREATE ${i.unique ? "UNIQUE " : ""}INDEX \`${i.name }\`\nON \`${table.name}\` (${i.fields .map((f) => `\`${f}\``) .join(", ")});`, @@ -44,15 +37,12 @@ export function toMySQL(diagram) { .join("")}`}`, ) .join("\n")}\n${diagram.references - .map( - (r) => - `ALTER TABLE \`${ - diagram.tables[r.startTableId].name - }\`\nADD FOREIGN KEY(\`${ - diagram.tables[r.startTableId].fields[r.startFieldId].name - }\`) REFERENCES \`${diagram.tables[r.endTableId].name}\`(\`${ - diagram.tables[r.endTableId].fields[r.endFieldId].name - }\`)\nON UPDATE ${r.updateConstraint.toUpperCase()} ON DELETE ${r.deleteConstraint.toUpperCase()};`, - ) - .join("\n")}`; + .map( + (r) => + `ALTER TABLE \`${diagram.tables[r.startTableId].name + }\`\nADD FOREIGN KEY(\`${diagram.tables[r.startTableId].fields[r.startFieldId].name + }\`) REFERENCES \`${diagram.tables[r.endTableId].name}\`(\`${diagram.tables[r.endTableId].fields[r.endFieldId].name + }\`)\nON UPDATE ${r.updateConstraint.toUpperCase()} ON DELETE ${r.deleteConstraint.toUpperCase()};`, + ) + .join("\n")}`; } From 9cfdecacf92e3aecac3c1eac649da5ec50be559d Mon Sep 17 00:00:00 2001 From: csc530 <77406318+csc530@users.noreply.github.com> Date: Wed, 2 Oct 2024 10:37:00 -0400 Subject: [PATCH 4/5] fix enum and set export syntax for mariadb --- src/utils/exportSQL/mariadb.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/exportSQL/mariadb.js b/src/utils/exportSQL/mariadb.js index e7f35889..9bc6117c 100644 --- a/src/utils/exportSQL/mariadb.js +++ b/src/utils/exportSQL/mariadb.js @@ -11,7 +11,7 @@ export function toMariaDB(diagram) { (field) => `\t\`${ field.name - }\` ${field.type}${field.unsigned ? " UNSIGNED" : ""}${field.notNull ? " NOT NULL" : ""}${ + }\` ${field.type}${field.values ? "(" + field.values.map(value => "'" + value + "'").join(", ") + ")" : ""}${field.unsigned ? " UNSIGNED" : ""}${field.notNull ? " NOT NULL" : ""}${ field.increment ? " AUTO_INCREMENT" : "" }${field.unique ? " UNIQUE" : ""}${ field.default !== "" From cd873ec1ba8d3095bee8281c79eb893a41490fd6 Mon Sep 17 00:00:00 2001 From: csc530 <77406318+csc530@users.noreply.github.com> Date: Wed, 2 Oct 2024 10:37:45 -0400 Subject: [PATCH 5/5] format code using javascript and typescript language features extension in vscode --- src/utils/exportSQL/mariadb.js | 55 ++++++++++++++-------------------- 1 file changed, 23 insertions(+), 32 deletions(-) diff --git a/src/utils/exportSQL/mariadb.js b/src/utils/exportSQL/mariadb.js index 9bc6117c..37f6755f 100644 --- a/src/utils/exportSQL/mariadb.js +++ b/src/utils/exportSQL/mariadb.js @@ -9,33 +9,27 @@ export function toMariaDB(diagram) { `CREATE OR REPLACE TABLE \`${table.name}\` (\n${table.fields .map( (field) => - `\t\`${ - field.name - }\` ${field.type}${field.values ? "(" + field.values.map(value => "'" + value + "'").join(", ") + ")" : ""}${field.unsigned ? " UNSIGNED" : ""}${field.notNull ? " NOT NULL" : ""}${ - field.increment ? " AUTO_INCREMENT" : "" - }${field.unique ? " UNIQUE" : ""}${ - field.default !== "" - ? ` DEFAULT ${parseDefault(field, diagram.database)}` - : "" - }${ - field.check === "" || + `\t\`${field.name + }\` ${field.type}${field.values ? "(" + field.values.map(value => "'" + value + "'").join(", ") + ")" : ""}${field.unsigned ? " UNSIGNED" : ""}${field.notNull ? " NOT NULL" : ""}${field.increment ? " AUTO_INCREMENT" : "" + }${field.unique ? " UNIQUE" : ""}${field.default !== "" + ? ` DEFAULT ${parseDefault(field, diagram.database)}` + : "" + }${field.check === "" || !dbToTypes[diagram.database][field.type].hasCheck - ? "" - : ` CHECK(${field.check})` + ? "" + : ` CHECK(${field.check})` }${field.comment ? ` COMMENT '${field.comment}'` : ""}`, ) - .join(",\n")}${ - table.fields.filter((f) => f.primary).length > 0 - ? `,\n\tPRIMARY KEY(${table.fields - .filter((f) => f.primary) - .map((f) => `\`${f.name}\``) - .join(", ")})` - : "" + .join(",\n")}${table.fields.filter((f) => f.primary).length > 0 + ? `,\n\tPRIMARY KEY(${table.fields + .filter((f) => f.primary) + .map((f) => `\`${f.name}\``) + .join(", ")})` + : "" }\n)${table.comment ? ` COMMENT='${table.comment}'` : ""};${`\n${table.indices .map( (i) => - `\nCREATE ${i.unique ? "UNIQUE " : ""}INDEX \`${ - i.name + `\nCREATE ${i.unique ? "UNIQUE " : ""}INDEX \`${i.name }\`\nON \`${table.name}\` (${i.fields .map((f) => `\`${f}\``) .join(", ")});`, @@ -43,15 +37,12 @@ export function toMariaDB(diagram) { .join("")}`}`, ) .join("\n")}\n${diagram.references - .map( - (r) => - `ALTER TABLE \`${ - diagram.tables[r.startTableId].name - }\`\nADD FOREIGN KEY(\`${ - diagram.tables[r.startTableId].fields[r.startFieldId].name - }\`) REFERENCES \`${diagram.tables[r.endTableId].name}\`(\`${ - diagram.tables[r.endTableId].fields[r.endFieldId].name - }\`)\nON UPDATE ${r.updateConstraint.toUpperCase()} ON DELETE ${r.deleteConstraint.toUpperCase()};`, - ) - .join("\n")}`; + .map( + (r) => + `ALTER TABLE \`${diagram.tables[r.startTableId].name + }\`\nADD FOREIGN KEY(\`${diagram.tables[r.startTableId].fields[r.startFieldId].name + }\`) REFERENCES \`${diagram.tables[r.endTableId].name}\`(\`${diagram.tables[r.endTableId].fields[r.endFieldId].name + }\`)\nON UPDATE ${r.updateConstraint.toUpperCase()} ON DELETE ${r.deleteConstraint.toUpperCase()};`, + ) + .join("\n")}`; }