Explorar el Código

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

Frédéric Guillot hace 6 años
padre
commit
f52f00abcf
Se han modificado 2 ficheros con 2 adiciones y 2 borrados
  1. 1 1
      oauth2/profile.go
  2. 1 1
      storage/user.go

+ 1 - 1
oauth2/profile.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)
 }

+ 1 - 1
storage/user.go

@@ -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)