diff --git a/src/utils/exportSQL/mysql.js b/src/utils/exportSQL/mysql.js index 45f1f95..272389f 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")}`; }