@@ -9,49 +9,40 @@ export function toMySQL(diagram) {
9
9
`CREATE TABLE \`${ table . name } \` (\n${ table . fields
10
10
. map (
11
11
( field ) =>
12
- `\t\`${ field . name } \` ${ field . type } ${ field . unsigned ? " UNSIGNED" : "" } ${ field . size !== undefined && field . size !== "" ? "(" + field . size + ")" : "" } ${
13
- field . notNull ? " NOT NULL" : ""
14
- } ${
15
- field . increment ? " AUTO_INCREMENT" : ""
16
- } ${ field . unique ? " UNIQUE" : "" } ${
17
- field . default !== ""
18
- ? ` DEFAULT ${ parseDefault ( field , diagram . database ) } `
19
- : ""
20
- } ${
21
- 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 === "" ||
22
18
! dbToTypes [ diagram . database ] [ field . type ] . hasCheck
23
- ? ""
24
- : ` CHECK(${ field . check } )`
19
+ ? ""
20
+ : ` CHECK(${ field . check } )`
25
21
} ${ field . comment ? ` COMMENT '${ field . comment } '` : "" } `,
26
22
)
27
- . join ( ",\n" ) } ${
28
- table . fields . filter ( ( f ) => f . primary ) . length > 0
29
- ? `,\n\tPRIMARY KEY(${ table . fields
30
- . filter ( ( f ) => f . primary )
31
- . map ( ( f ) => `\`${ f . name } \`` )
32
- . join ( ", " ) } )`
33
- : ""
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
+ : ""
34
29
} \n)${ table . comment ? ` COMMENT='${ table . comment } '` : "" } ;\n${ `\n${ table . indices
35
30
. map (
36
31
( i ) =>
37
- `\nCREATE ${ i . unique ? "UNIQUE " : "" } INDEX \`${
38
- i . name
32
+ `\nCREATE ${ i . unique ? "UNIQUE " : "" } INDEX \`${ i . name
39
33
} \`\nON \`${ table . name } \` (${ i . fields
40
34
. map ( ( f ) => `\`${ f } \`` )
41
35
. join ( ", " ) } );`,
42
36
)
43
37
. join ( "" ) } `} `,
44
38
)
45
39
. join ( "\n" ) } \n${ diagram . references
46
- . map (
47
- ( r ) =>
48
- `ALTER TABLE \`${
49
- diagram . tables [ r . startTableId ] . name
50
- } \`\nADD FOREIGN KEY(\`${
51
- diagram . tables [ r . startTableId ] . fields [ r . startFieldId ] . name
52
- } \`) REFERENCES \`${ diagram . tables [ r . endTableId ] . name } \`(\`${
53
- diagram . tables [ r . endTableId ] . fields [ r . endFieldId ] . name
54
- } \`)\nON UPDATE ${ r . updateConstraint . toUpperCase ( ) } ON DELETE ${ r . deleteConstraint . toUpperCase ( ) } ;`,
55
- )
56
- . 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" ) } `;
57
48
}
0 commit comments