Skip to content

Commit

Permalink
Raise error if automatically derived foreign keys are already present
Browse files Browse the repository at this point in the history
  • Loading branch information
daogrady committed Jan 17, 2024
1 parent b2c0ca6 commit 4bd7e60
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions lib/visitor.js
Original file line number Diff line number Diff line change
Expand Up @@ -189,8 +189,13 @@ class Visitor {
// the containing entity.
for (const [kname, kelement] of this.#keys(element.target)) {
if (this.resolver.getMaxCardinality(element) === 1) {
kelement.isRefNotNull = !!element.notNull || !!element.key
this.visitElement(`${ename}_${kname}`, kelement, file, buffer)
const foreignKey = `${ename}_${kname}`
if (Object.hasOwn(entity.elements, foreignKey)) {
this.logger.error(`Attempting to generate a foreign key reference called '${foreignKey}' in type definition for entity ${name}. But a property of that name is already defined explicitly. Consider renaming that property.`)
} else {
kelement.isRefNotNull = !!element.notNull || !!element.key
this.visitElement(foreignKey, kelement, file, buffer)
}
}
}
}
Expand Down

0 comments on commit 4bd7e60

Please sign in to comment.