Updates
This commit is contained in:
Vendored
+9
-9
@@ -16,7 +16,7 @@ export default async function createTable({ table, config, }) {
|
||||
primaryKeys.push(field.fieldName);
|
||||
}
|
||||
if (field.foreignKey && !table.isVector) {
|
||||
foreignKeys.push(buildForeignKeyConstraint(field));
|
||||
foreignKeys.push(buildForeignKeyConstraint(field, table.tableName));
|
||||
}
|
||||
}
|
||||
if (primaryKeys.length > 0) {
|
||||
@@ -25,15 +25,15 @@ export default async function createTable({ table, config, }) {
|
||||
}
|
||||
if (table.uniqueConstraints) {
|
||||
for (const constraint of table.uniqueConstraints) {
|
||||
if (constraint.constraintTableFields &&
|
||||
constraint.constraintTableFields.length > 0) {
|
||||
const fields = constraint.constraintTableFields
|
||||
.map((field) => MariaDBQuoteGen(field.value))
|
||||
.join(", ");
|
||||
const constraintName = constraint.constraintName ||
|
||||
`unique_${fields.replace(/`/g, "")}`;
|
||||
columnDefinitions.push(`CONSTRAINT ${MariaDBQuoteGen(constraintName)} UNIQUE (${fields})`);
|
||||
const columns = (constraint.constraintTableFields || [])
|
||||
.map((field) => field.value)
|
||||
.filter((value) => Boolean(value));
|
||||
if (columns.length === 0) {
|
||||
continue;
|
||||
}
|
||||
const fields = columns.map((col) => MariaDBQuoteGen(col)).join(", ");
|
||||
const constraintName = constraint.constraintName || `unique_${columns.join("_")}`;
|
||||
columnDefinitions.push(`CONSTRAINT ${MariaDBQuoteGen(constraintName)} UNIQUE (${fields})`);
|
||||
}
|
||||
}
|
||||
const sql = `CREATE TABLE IF NOT EXISTS ${MariaDBQuoteGen(table.tableName)} (${[...columnDefinitions, ...foreignKeys].join(", ")})${buildTableOptions(table)}`;
|
||||
|
||||
Reference in New Issue
Block a user