Skip to content

Commit f8be353

Browse files
Enhance generateCustomDataV2 to handle self-referencing foreign keys and add referred_pk field for better data structure
1 parent 0165c3a commit f8be353

1 file changed

Lines changed: 7 additions & 0 deletions

File tree

internal/etlx/model.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1049,11 +1049,17 @@ func generateCustomDataV2(parsedTables map[string]any, tables_order []string, db
10491049
"fk": fk,
10501050
// "sizexg": 12,
10511051
}
1052+
//isRefToSameTable := false
10521053
if fk {
10531054
parts := strings.Split(fkRef, ".")
10541055
if len(parts) == 2 {
10551056
referredTable = parts[0]
10561057
referredColumn = parts[1]
1058+
if referredTable == tableName {
1059+
//isRefToSameTable = true
1060+
fmt.Println("SAME REF", referredTable)
1061+
fkAdded = append(fkAdded, referredColumn, tableName)
1062+
}
10571063
// fmt.Println(1, "FK:", tableName, referredTable, referredColumn)
10581064
refTable, ok := parsedTables[referredTable].(map[string]any)
10591065
if ok {
@@ -1078,6 +1084,7 @@ func generateCustomDataV2(parsedTables map[string]any, tables_order []string, db
10781084
formField["ref_table"] = referredTable
10791085
formField["ref_field"] = referredColumn
10801086
formField["autocomplete"] = true
1087+
formField["referred_pk"] = referredColumn
10811088
}
10821089
}
10831090
}

0 commit comments

Comments
 (0)