Recognize many to one relationships on sql import
This commit is contained in:
parent
d0b5f4c6c5
commit
07d7766fa8
8
package-lock.json
generated
8
package-lock.json
generated
@ -28,7 +28,7 @@
|
|||||||
"jsonschema": "^1.4.1",
|
"jsonschema": "^1.4.1",
|
||||||
"jspdf": "^2.5.1",
|
"jspdf": "^2.5.1",
|
||||||
"lexical": "^0.12.5",
|
"lexical": "^0.12.5",
|
||||||
"node-sql-parser": "^5.0.0",
|
"node-sql-parser": "^5.3.0",
|
||||||
"react": "^18.2.0",
|
"react": "^18.2.0",
|
||||||
"react-dom": "^18.2.0",
|
"react-dom": "^18.2.0",
|
||||||
"react-hotkeys-hook": "^4.4.1",
|
"react-hotkeys-hook": "^4.4.1",
|
||||||
@ -4421,9 +4421,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/node-sql-parser": {
|
"node_modules/node-sql-parser": {
|
||||||
"version": "5.0.0",
|
"version": "5.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/node-sql-parser/-/node-sql-parser-5.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/node-sql-parser/-/node-sql-parser-5.3.0.tgz",
|
||||||
"integrity": "sha512-hkNU1gIT8BNe8vmcsU7uYie0gzow/6AIj5KnGRBJQSZlgEu1NNuLVS11it5gAEdpmvJHelc34BwR439Iela+zQ==",
|
"integrity": "sha512-KjomhTRfjmzvUNZ40BBF96ZII8ME68AyQXALeTQ3zEEfqup1zhhM91XDpuG+GEEO5urmWgxMJMJ9u3xmL+MzMw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/pegjs": "^0.10.0",
|
"@types/pegjs": "^0.10.0",
|
||||||
"big-integer": "^1.6.48"
|
"big-integer": "^1.6.48"
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
"jsonschema": "^1.4.1",
|
"jsonschema": "^1.4.1",
|
||||||
"jspdf": "^2.5.1",
|
"jspdf": "^2.5.1",
|
||||||
"lexical": "^0.12.5",
|
"lexical": "^0.12.5",
|
||||||
"node-sql-parser": "^5.0.0",
|
"node-sql-parser": "^5.3.0",
|
||||||
"react": "^18.2.0",
|
"react": "^18.2.0",
|
||||||
"react-dom": "^18.2.0",
|
"react-dom": "^18.2.0",
|
||||||
"react-hotkeys-hook": "^4.4.1",
|
"react-hotkeys-hook": "^4.4.1",
|
||||||
|
@ -149,7 +149,13 @@ export function fromMariaDB(ast, diagramDb = DB.GENERIC) {
|
|||||||
|
|
||||||
relationship.updateConstraint = updateConstraint;
|
relationship.updateConstraint = updateConstraint;
|
||||||
relationship.deleteConstraint = deleteConstraint;
|
relationship.deleteConstraint = deleteConstraint;
|
||||||
|
|
||||||
|
if (table.fields[startFieldId].unique) {
|
||||||
relationship.cardinality = Cardinality.ONE_TO_ONE;
|
relationship.cardinality = Cardinality.ONE_TO_ONE;
|
||||||
|
} else {
|
||||||
|
relationship.cardinality = Cardinality.MANY_TO_ONE;
|
||||||
|
}
|
||||||
|
|
||||||
relationships.push(relationship);
|
relationships.push(relationship);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -231,7 +237,13 @@ export function fromMariaDB(ast, diagramDb = DB.GENERIC) {
|
|||||||
relationship.endFieldId = endFieldId;
|
relationship.endFieldId = endFieldId;
|
||||||
relationship.updateConstraint = updateConstraint;
|
relationship.updateConstraint = updateConstraint;
|
||||||
relationship.deleteConstraint = deleteConstraint;
|
relationship.deleteConstraint = deleteConstraint;
|
||||||
|
|
||||||
|
if (tables[startTableId].fields[startFieldId].unique) {
|
||||||
relationship.cardinality = Cardinality.ONE_TO_ONE;
|
relationship.cardinality = Cardinality.ONE_TO_ONE;
|
||||||
|
} else {
|
||||||
|
relationship.cardinality = Cardinality.MANY_TO_ONE;
|
||||||
|
}
|
||||||
|
|
||||||
relationships.push(relationship);
|
relationships.push(relationship);
|
||||||
|
|
||||||
relationships.forEach((r, i) => (r.id = i));
|
relationships.forEach((r, i) => (r.id = i));
|
||||||
|
@ -161,7 +161,13 @@ export function fromMSSQL(ast, diagramDb = DB.GENERIC) {
|
|||||||
|
|
||||||
relationship.updateConstraint = updateConstraint;
|
relationship.updateConstraint = updateConstraint;
|
||||||
relationship.deleteConstraint = deleteConstraint;
|
relationship.deleteConstraint = deleteConstraint;
|
||||||
|
|
||||||
|
if (table.fields[startFieldId].unique) {
|
||||||
relationship.cardinality = Cardinality.ONE_TO_ONE;
|
relationship.cardinality = Cardinality.ONE_TO_ONE;
|
||||||
|
} else {
|
||||||
|
relationship.cardinality = Cardinality.MANY_TO_ONE;
|
||||||
|
}
|
||||||
|
|
||||||
relationships.push(relationship);
|
relationships.push(relationship);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -243,7 +249,13 @@ export function fromMSSQL(ast, diagramDb = DB.GENERIC) {
|
|||||||
relationship.endFieldId = endFieldId;
|
relationship.endFieldId = endFieldId;
|
||||||
relationship.updateConstraint = updateConstraint;
|
relationship.updateConstraint = updateConstraint;
|
||||||
relationship.deleteConstraint = deleteConstraint;
|
relationship.deleteConstraint = deleteConstraint;
|
||||||
|
|
||||||
|
if (tables[startTableId].fields[startFieldId].unique) {
|
||||||
relationship.cardinality = Cardinality.ONE_TO_ONE;
|
relationship.cardinality = Cardinality.ONE_TO_ONE;
|
||||||
|
} else {
|
||||||
|
relationship.cardinality = Cardinality.MANY_TO_ONE;
|
||||||
|
}
|
||||||
|
|
||||||
relationships.push(relationship);
|
relationships.push(relationship);
|
||||||
|
|
||||||
relationships.forEach((r, i) => (r.id = i));
|
relationships.forEach((r, i) => (r.id = i));
|
||||||
|
@ -149,7 +149,13 @@ export function fromMySQL(ast, diagramDb = DB.GENERIC) {
|
|||||||
|
|
||||||
relationship.updateConstraint = updateConstraint;
|
relationship.updateConstraint = updateConstraint;
|
||||||
relationship.deleteConstraint = deleteConstraint;
|
relationship.deleteConstraint = deleteConstraint;
|
||||||
|
|
||||||
|
if (table.fields[startFieldId].unique) {
|
||||||
relationship.cardinality = Cardinality.ONE_TO_ONE;
|
relationship.cardinality = Cardinality.ONE_TO_ONE;
|
||||||
|
} else {
|
||||||
|
relationship.cardinality = Cardinality.MANY_TO_ONE;
|
||||||
|
}
|
||||||
|
|
||||||
relationships.push(relationship);
|
relationships.push(relationship);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -231,7 +237,13 @@ export function fromMySQL(ast, diagramDb = DB.GENERIC) {
|
|||||||
relationship.endFieldId = endFieldId;
|
relationship.endFieldId = endFieldId;
|
||||||
relationship.updateConstraint = updateConstraint;
|
relationship.updateConstraint = updateConstraint;
|
||||||
relationship.deleteConstraint = deleteConstraint;
|
relationship.deleteConstraint = deleteConstraint;
|
||||||
|
|
||||||
|
if (tables[startTableId].fields[startFieldId].unique) {
|
||||||
relationship.cardinality = Cardinality.ONE_TO_ONE;
|
relationship.cardinality = Cardinality.ONE_TO_ONE;
|
||||||
|
} else {
|
||||||
|
relationship.cardinality = Cardinality.MANY_TO_ONE;
|
||||||
|
}
|
||||||
|
|
||||||
relationships.push(relationship);
|
relationships.push(relationship);
|
||||||
|
|
||||||
relationships.forEach((r, i) => (r.id = i));
|
relationships.forEach((r, i) => (r.id = i));
|
||||||
|
@ -150,7 +150,11 @@ export function fromPostgres(ast, diagramDb = DB.GENERIC) {
|
|||||||
|
|
||||||
relationship.updateConstraint = updateConstraint;
|
relationship.updateConstraint = updateConstraint;
|
||||||
relationship.deleteConstraint = deleteConstraint;
|
relationship.deleteConstraint = deleteConstraint;
|
||||||
|
if (table.fields[startFieldId].unique) {
|
||||||
relationship.cardinality = Cardinality.ONE_TO_ONE;
|
relationship.cardinality = Cardinality.ONE_TO_ONE;
|
||||||
|
} else {
|
||||||
|
relationship.cardinality = Cardinality.MANY_TO_ONE;
|
||||||
|
}
|
||||||
relationships.push(relationship);
|
relationships.push(relationship);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -200,7 +204,13 @@ export function fromPostgres(ast, diagramDb = DB.GENERIC) {
|
|||||||
relationship.endFieldId = endFieldId;
|
relationship.endFieldId = endFieldId;
|
||||||
relationship.updateConstraint = updateConstraint;
|
relationship.updateConstraint = updateConstraint;
|
||||||
relationship.deleteConstraint = deleteConstraint;
|
relationship.deleteConstraint = deleteConstraint;
|
||||||
|
|
||||||
|
if (table.fields[startFieldId].unique) {
|
||||||
relationship.cardinality = Cardinality.ONE_TO_ONE;
|
relationship.cardinality = Cardinality.ONE_TO_ONE;
|
||||||
|
} else {
|
||||||
|
relationship.cardinality = Cardinality.MANY_TO_ONE;
|
||||||
|
}
|
||||||
|
|
||||||
relationships.push(relationship);
|
relationships.push(relationship);
|
||||||
|
|
||||||
relationships.forEach((r, i) => (r.id = i));
|
relationships.forEach((r, i) => (r.id = i));
|
||||||
@ -292,6 +302,13 @@ export function fromPostgres(ast, diagramDb = DB.GENERIC) {
|
|||||||
relationship.updateConstraint = updateConstraint;
|
relationship.updateConstraint = updateConstraint;
|
||||||
relationship.deleteConstraint = deleteConstraint;
|
relationship.deleteConstraint = deleteConstraint;
|
||||||
relationship.cardinality = Cardinality.ONE_TO_ONE;
|
relationship.cardinality = Cardinality.ONE_TO_ONE;
|
||||||
|
|
||||||
|
if (tables[startTableId].fields[startFieldId].unique) {
|
||||||
|
relationship.cardinality = Cardinality.ONE_TO_ONE;
|
||||||
|
} else {
|
||||||
|
relationship.cardinality = Cardinality.MANY_TO_ONE;
|
||||||
|
}
|
||||||
|
|
||||||
relationships.push(relationship);
|
relationships.push(relationship);
|
||||||
|
|
||||||
relationships.forEach((r, i) => (r.id = i));
|
relationships.forEach((r, i) => (r.id = i));
|
||||||
|
@ -166,7 +166,13 @@ export function fromSQLite(ast, diagramDb = DB.GENERIC) {
|
|||||||
|
|
||||||
relationship.updateConstraint = updateConstraint;
|
relationship.updateConstraint = updateConstraint;
|
||||||
relationship.deleteConstraint = deleteConstraint;
|
relationship.deleteConstraint = deleteConstraint;
|
||||||
|
|
||||||
|
if (table.fields[startFieldId].unique) {
|
||||||
relationship.cardinality = Cardinality.ONE_TO_ONE;
|
relationship.cardinality = Cardinality.ONE_TO_ONE;
|
||||||
|
} else {
|
||||||
|
relationship.cardinality = Cardinality.MANY_TO_ONE;
|
||||||
|
}
|
||||||
|
|
||||||
relationships.push(relationship);
|
relationships.push(relationship);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user