Handle invalid references

This commit is contained in:
1ilit
2023-09-19 15:51:23 +03:00
parent 10fae6d518
commit 028e80a487
2 changed files with 25 additions and 7 deletions

View File

@@ -309,11 +309,23 @@ function validateDiagram(diagram) {
});
const duplicateFKName = {};
diagram.relationships.forEach((relationship) => {
if (duplicateFKName[relationship.name]) {
issues.push(`Duplicate relationship by the name "${relationship.name}"`);
diagram.relationships.forEach((r) => {
if (duplicateFKName[r.name]) {
issues.push(`Duplicate reference by the name "${r.name}"`);
} else {
duplicateFKName[relationship.name] = true;
duplicateFKName[r.name] = true;
}
if (
diagram.tables[r.startTableId].fields[r.startFieldId].type !==
diagram.tables[r.endTableId].fields[r.endFieldId].type
) {
issues.push(`Referencing column "${
diagram.tables[r.endTableId].fields[r.endFieldId].name
}" and referenced column "${
diagram.tables[r.startTableId].fields[r.startFieldId].name
}" are incompatible.
`);
}
});