@@ -3,56 +3,46 @@ import { parseDefault } from "./shared";
33import { dbToTypes } from "../../data/datatypes" ;
44
55export function toMySQL ( diagram ) {
6- console . log ( diagram )
76 return `${ diagram . tables
87 . map (
98 ( table ) =>
109 `CREATE TABLE \`${ table . name } \` (\n${ table . fields
1110 . map (
1211 ( field ) =>
13- `\t\`${ field . name } \` ${ field . type } ${ field . values ? "(" + field . values . map ( value => "'" + value + "'" ) . join ( ", " ) + ")" : "" } ${ field . unsigned ? " UNSIGNED" : "" } ${ field . size !== undefined && field . size !== "" ? "(" + field . size + ")" : "" } ${
14- field . notNull ? " NOT NULL" : ""
15- } ${
16- field . increment ? " AUTO_INCREMENT" : ""
17- } ${ field . unique ? " UNIQUE" : "" } ${
18- field . default !== ""
19- ? ` DEFAULT ${ parseDefault ( field , diagram . database ) } `
20- : ""
21- } ${
22- field . check === "" ||
12+ `\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" : ""
13+ } ${ field . increment ? " AUTO_INCREMENT" : ""
14+ } ${ field . unique ? " UNIQUE" : "" } ${ field . default !== ""
15+ ? ` DEFAULT ${ parseDefault ( field , diagram . database ) } `
16+ : ""
17+ } ${ field . check === "" ||
2318 ! dbToTypes [ diagram . database ] [ field . type ] . hasCheck
24- ? ""
25- : ` CHECK(${ field . check } )`
19+ ? ""
20+ : ` CHECK(${ field . check } )`
2621 } ${ field . comment ? ` COMMENT '${ field . comment } '` : "" } `,
2722 )
28- . join ( ",\n" ) } ${
29- table . fields . filter ( ( f ) => f . primary ) . length > 0
30- ? `,\n\tPRIMARY KEY(${ table . fields
31- . filter ( ( f ) => f . primary )
32- . map ( ( f ) => `\`${ f . name } \`` )
33- . join ( ", " ) } )`
34- : ""
23+ . join ( ",\n" ) } ${ table . fields . filter ( ( f ) => f . primary ) . length > 0
24+ ? `,\n\tPRIMARY KEY(${ table . fields
25+ . filter ( ( f ) => f . primary )
26+ . map ( ( f ) => `\`${ f . name } \`` )
27+ . join ( ", " ) } )`
28+ : ""
3529 } \n)${ table . comment ? ` COMMENT='${ table . comment } '` : "" } ;\n${ `\n${ table . indices
3630 . map (
3731 ( i ) =>
38- `\nCREATE ${ i . unique ? "UNIQUE " : "" } INDEX \`${
39- i . name
32+ `\nCREATE ${ i . unique ? "UNIQUE " : "" } INDEX \`${ i . name
4033 } \`\nON \`${ table . name } \` (${ i . fields
4134 . map ( ( f ) => `\`${ f } \`` )
4235 . join ( ", " ) } );`,
4336 )
4437 . join ( "" ) } `} `,
4538 )
4639 . join ( "\n" ) } \n${ diagram . references
47- . map (
48- ( r ) =>
49- `ALTER TABLE \`${
50- diagram . tables [ r . startTableId ] . name
51- } \`\nADD FOREIGN KEY(\`${
52- diagram . tables [ r . startTableId ] . fields [ r . startFieldId ] . name
53- } \`) REFERENCES \`${ diagram . tables [ r . endTableId ] . name } \`(\`${
54- diagram . tables [ r . endTableId ] . fields [ r . endFieldId ] . name
55- } \`)\nON UPDATE ${ r . updateConstraint . toUpperCase ( ) } ON DELETE ${ r . deleteConstraint . toUpperCase ( ) } ;`,
56- )
57- . join ( "\n" ) } `;
40+ . map (
41+ ( r ) =>
42+ `ALTER TABLE \`${ diagram . tables [ r . startTableId ] . name
43+ } \`\nADD FOREIGN KEY(\`${ diagram . tables [ r . startTableId ] . fields [ r . startFieldId ] . name
44+ } \`) REFERENCES \`${ diagram . tables [ r . endTableId ] . name } \`(\`${ diagram . tables [ r . endTableId ] . fields [ r . endFieldId ] . name
45+ } \`)\nON UPDATE ${ r . updateConstraint . toUpperCase ( ) } ON DELETE ${ r . deleteConstraint . toUpperCase ( ) } ;`,
46+ )
47+ . join ( "\n" ) } `;
5848}
0 commit comments