From bf4c496756a825d7ae5bde53ad2c235b859fe07f Mon Sep 17 00:00:00 2001 From: Vikram Rangnekar Date: Thu, 12 Dec 2019 00:47:56 -0500 Subject: [PATCH] Fix for bug with foreign keys mapping --- psql/tables.go | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/psql/tables.go b/psql/tables.go index 5c78d98..6a5eefc 100644 --- a/psql/tables.go +++ b/psql/tables.go @@ -176,6 +176,7 @@ ORDER BY id;` for rows.Next() { c := DBColumn{} + err = rows.Scan(&c.ID, &c.Name, &c.NotNull, &c.Type, &c.Array, &c.PrimaryKey, &c.UniqueKey, &c.FKeyTable, &c.fKeyColID) if err != nil { return nil, err @@ -194,6 +195,17 @@ ORDER BY id;` if c.Array { v.Array = true } + if len(c.FKeyTable) != 0 { + v.FKeyTable = c.FKeyTable + } + if c.fKeyColID.Elements != nil { + v.fKeyColID = c.fKeyColID + err := v.fKeyColID.AssignTo(&v.FKeyColID) + if err != nil { + return nil, err + } + } + cmap[c.ID] = v } else { err := c.fKeyColID.AssignTo(&c.FKeyColID) if err != nil { @@ -205,8 +217,8 @@ ORDER BY id;` } cols := make([]DBColumn, 0, len(cmap)) - for _, v := range cmap { - cols = append(cols, v) + for i := range cmap { + cols = append(cols, cmap[i]) } return cols, nil