Fix regression: the entire hstore field is replaced when updating settings

pull/695/head
Frédéric Guillot 4 years ago
parent da4ea18003
commit f52f00abcf
  1. 2
      oauth2/profile.go
  2. 2
      storage/user.go

@ -16,5 +16,5 @@ type Profile struct {
}
func (p Profile) String() string {
return fmt.Sprintf(`ID=%s ; Username=%s`, p.ID, p.Username)
return fmt.Sprintf(`Key=%s ; ID=%s ; Username=%s`, p.Key, p.ID, p.Username)
}

@ -88,7 +88,7 @@ func (s *Storage) CreateUser(user *model.User) (err error) {
// UpdateExtraField updates an extra field of the given user.
func (s *Storage) UpdateExtraField(userID int64, field, value string) error {
query := fmt.Sprintf(`UPDATE users SET extra = hstore('%s', $1) WHERE id=$2`, field)
query := fmt.Sprintf(`UPDATE users SET extra = extra || hstore('%s', $1) WHERE id=$2`, field)
_, err := s.db.Exec(query, value, userID)
if err != nil {
return fmt.Errorf(`store: unable to update user extra field: %v`, err)

Loading…
Cancel
Save