16 lines
642 B
JavaScript
16 lines
642 B
JavaScript
import MariaDBQuoteGen from "./mariadb-quote-gen";
|
|
export default function buildForeignKeyConstraint(field) {
|
|
const fk = field.foreignKey;
|
|
const constraintName = fk.foreignKeyName
|
|
? `CONSTRAINT ${MariaDBQuoteGen(fk.foreignKeyName)} `
|
|
: "";
|
|
let constraint = `${constraintName}FOREIGN KEY (${MariaDBQuoteGen(field.fieldName)}) REFERENCES ${MariaDBQuoteGen(fk.destinationTableName)}(${MariaDBQuoteGen(fk.destinationTableColumnName)})`;
|
|
if (fk.cascadeDelete) {
|
|
constraint += " ON DELETE CASCADE";
|
|
}
|
|
if (fk.cascadeUpdate) {
|
|
constraint += " ON UPDATE CASCADE";
|
|
}
|
|
return constraint;
|
|
}
|