(con: DatabaseTableColumnConstraint)
| 100 | } |
| 101 | |
| 102 | function generateConstraintScript(con: DatabaseTableColumnConstraint) { |
| 103 | if (con.primaryKey) { |
| 104 | return `PRIMARY KEY (${con.primaryColumns?.map(escapeIdentity).join(", ")})`; |
| 105 | } else if (con.unique) { |
| 106 | return `UNIQUE (${con.uniqueColumns?.map(escapeIdentity).join(", ")})`; |
| 107 | } else if (con.checkExpression !== undefined) { |
| 108 | return `CHECK (${con.checkExpression})`; |
| 109 | } else if (con.foreignKey) { |
| 110 | return ( |
| 111 | `FOREIGN KEY (${con.foreignKey.columns?.map(escapeIdentity).join(", ")}) ` + |
| 112 | `REFERENCES ${escapeIdentity(con.foreignKey.foreignTableName ?? "")} ` + |
| 113 | `(${con.foreignKey.foreignColumns?.map(escapeIdentity).join(", ")})` |
| 114 | ); |
| 115 | } |
| 116 | } |
| 117 | |
| 118 | export default function generateSqlSchemaChange( |
| 119 | change: DatabaseTableSchemaChange |
no test coverage detected