From 4cc9b34f4ca87ce794303d536966a3fd67d35391 Mon Sep 17 00:00:00 2001 From: Drew DeVault Date: Thu, 26 Nov 2020 14:15:55 -0500 Subject: [PATCH] database.Apply: add support for non-pointer fields --- database/sq.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/database/sq.go b/database/sq.go index 3fbe5ab9d5da06719e9135f18de8a3cec5adc60a..cda4614933bbb5f175ae977a0597e2a36647afd2 100644 --- a/database/sq.go +++ b/database/sq.go @@ -134,7 +134,12 @@ func Apply(m Model, input map[string]interface{}) sq.UpdateBuilder { reflect.Indirect(rv).Interface()) } } else { - panic(fmt.Errorf("TODO")) + if !rv.IsValid() { + panic(fmt.Errorf("Invariant violated (unsetting non-nullable field)")) + } else { + pv.Set(rv) + update = update.Set(WithAlias(m.Alias(), f.SQL), rv.Interface()) + } } }