MCPcopy
hub / github.com/drawdb-io/drawdb / resolveRel

Function resolveRel

src/utils/migrations/diffToSQL.js:189–211  ·  view source on GitHub ↗
(diagram, rel)

Source from the content-addressed store, hash-verified

187}
188
189function resolveRel(diagram, rel) {
190 const tables = diagram?.tables || [];
191 const startT = tables.find((t) => t.id === rel.startTableId);
192 const endT = tables.find((t) => t.id === rel.endTableId);
193 if (!startT || !endT) return null;
194 const pairs = getRelationshipFields(rel);
195 const startFieldNames = pairs.map(
196 (p) => (startT.fields || []).find((f) => f.id === p.startFieldId)?.name,
197 );
198 const endFieldNames = pairs.map(
199 (p) => (endT.fields || []).find((f) => f.id === p.endFieldId)?.name,
200 );
201 if (startFieldNames.some((n) => !n) || endFieldNames.some((n) => !n))
202 return null;
203 return {
204 startTableName: startT.name,
205 startFieldName: startFieldNames[0],
206 endTableName: endT.name,
207 endFieldName: endFieldNames[0],
208 startFieldNames,
209 endFieldNames,
210 };
211}
212
213function fkCols(names, q) {
214 return names.map((n) => q(n)).join(", ");

Callers 1

generateMigrationSQLFunction · 0.85

Calls 1

getRelationshipFieldsFunction · 0.90

Tested by

no test coverage detected