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)