From 80487620b6c62eb3f558bf9863be31842912dd47 Mon Sep 17 00:00:00 2001 From: Miguel Molina Date: Wed, 9 Aug 2017 17:39:13 +0200 Subject: [PATCH] do not remove the first field in updates Signed-off-by: Miguel Molina --- store.go | 2 +- store_test.go | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/store.go b/store.go index 09f3acf..ba6848e 100644 --- a/store.go +++ b/store.go @@ -228,7 +228,7 @@ func (s *Store) Update(schema Schema, record Record, cols ...SchemaField) (int64 } // remove the ID from there - columnNames := ColumnNames(cols)[1:] + columnNames := ColumnNames(cols) values, columnNames, err := RecordValues(record, columnNames...) if err != nil { return 0, err diff --git a/store_test.go b/store_test.go index 378bf50..e48cabe 100644 --- a/store_test.go +++ b/store_test.go @@ -88,6 +88,12 @@ func (s *StoreSuite) TestUpdate() { s.Equal(int64(1), rows, "rows affected") s.assertModel(m) + m.Name = "c" + rows, err = s.store.Update(ModelSchema, m, NewSchemaField("name")) + s.NoError(err) + s.Equal(int64(1), rows, "rows affected") + s.assertModel(m) + m.setWritable(false) _, err = s.store.Update(ModelSchema, m) s.Equal(ErrNotWritable, err)