From c49124bf31b149f500da3a369711a59202889b01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Toma=C5=BE=20Jerman?= Date: Wed, 18 Mar 2020 17:34:42 +0100 Subject: [PATCH] Improve reference fallbacks If reference can't be established; remove the value so it doesn't break record resolution. --- pkg/migrate/types/node.go | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/pkg/migrate/types/node.go b/pkg/migrate/types/node.go index 298e70a3a..e94084287 100644 --- a/pkg/migrate/types/node.go +++ b/pkg/migrate/types/node.go @@ -326,12 +326,29 @@ func updateRefs(n *Node, repo repository.RecordRepository) error { return errors.New("moduleField.record.invalidRefFormat") } - val = n.mapping[ref][val] - v.Value = val + if mod, ok := n.mapping[ref]; ok { + if vv, ok := mod[val]; ok { + v.Value = vv + } else { + v.Value = "" + continue + } + } else { + v.Value = "" + continue + } } } // update values + nv := types.RecordValueSet{} + for _, v := range r.Values { + if v.Value != "" { + nv = append(nv, v) + } + } + + r.Values = nv err := repo.UpdateValues(r.ID, r.Values) if err != nil { return err