@@ -3,56 +3,46 @@ import { parseDefault } from "./shared";
3
3
import { dbToTypes } from "../../data/datatypes" ;
4
4
5
5
export function toMySQL ( diagram ) {
6
- console . log ( diagram )
7
6
return `${ diagram . tables
8
7
. map (
9
8
( table ) =>
10
9
`CREATE TABLE \`${ table . name } \` (\n${ table . fields
11
10
. map (
12
11
( 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 === "" ||
23
18
! dbToTypes [ diagram . database ] [ field . type ] . hasCheck
24
- ? ""
25
- : ` CHECK(${ field . check } )`
19
+ ? ""
20
+ : ` CHECK(${ field . check } )`
26
21
} ${ field . comment ? ` COMMENT '${ field . comment } '` : "" } `,
27
22
)
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
+ : ""
35
29
} \n)${ table . comment ? ` COMMENT='${ table . comment } '` : "" } ;\n${ `\n${ table . indices
36
30
. map (
37
31
( i ) =>
38
- `\nCREATE ${ i . unique ? "UNIQUE " : "" } INDEX \`${
39
- i . name
32
+ `\nCREATE ${ i . unique ? "UNIQUE " : "" } INDEX \`${ i . name
40
33
} \`\nON \`${ table . name } \` (${ i . fields
41
34
. map ( ( f ) => `\`${ f } \`` )
42
35
. join ( ", " ) } );`,
43
36
)
44
37
. join ( "" ) } `} `,
45
38
)
46
39
. 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" ) } `;
58
48
}
0 commit comments