Don't allow same foreign keys
This commit is contained in:
parent
94d3466113
commit
6505f518c8
|
@ -195,7 +195,8 @@
|
|||
throughTable,
|
||||
fromTable.primary[0],
|
||||
throughToKey
|
||||
),
|
||||
) ||
|
||||
errorChecker.differentColumns(throughFromKey, throughToKey),
|
||||
throughToKey:
|
||||
errorChecker.manyForeignKeySet(throughToKey) ||
|
||||
errorChecker.manyTypeMismatch(
|
||||
|
|
|
@ -3,6 +3,7 @@ import { RelationshipType } from "@budibase/types"
|
|||
const typeMismatch = "Column type of the foreign key must match the primary key"
|
||||
const columnBeingUsed = "Column name cannot be an existing column"
|
||||
const mustBeDifferentTables = "From/to/through tables must be different"
|
||||
const mustBeDifferentColumns = "Foreign keys must be different"
|
||||
const primaryKeyNotSet = "Please pick the primary key"
|
||||
const throughNotNullable =
|
||||
"Ensure non-key columns are nullable or auto-generated"
|
||||
|
@ -83,6 +84,11 @@ export class RelationshipErrorChecker {
|
|||
return error ? mustBeDifferentTables : null
|
||||
}
|
||||
|
||||
differentColumns(columnA, columnB) {
|
||||
const error = columnA && columnB && columnA === columnB
|
||||
return error ? mustBeDifferentColumns : null
|
||||
}
|
||||
|
||||
columnBeingUsed(table, column, ogName) {
|
||||
return isColumnNameBeingUsed(table, column, ogName) ? columnBeingUsed : null
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue