go -pg, UpdateNotZero не обновляет пустые поля по дизайну, как это сделать? - PullRequest
0 голосов
/ 16 июня 2020

Мне трудно понять, как обнулить sh поле модели, используя go -pg и UpdateNotZero().

Пример:

type Player struct {
  ID            int
  CreatedAt     time.Time `pg:"default:now(),notnull"`
  UpdatedAt     time.Time
  AccountID     *int
}

Допустим, у меня сейчас есть этот плеер:

+----+------------+------------+------------+
| ID | created_at | updated_at | account_id |
+----+------------+------------+------------+
|  1 | 2020-06-16 | NULL       |         12 |
+----+------------+------------+------------+

в моем GO коде мне нужно «удалить» AccountID, мне нужно обнулить sh это: от 12 до NULL.

Если я использую update() вот так:

...
player.AccountID = nil
_, err := db.Model(player).WherePK().Update()

, это дает мне ошибку:

ERROR #23502 null value in column \"created_at\" violates not-null constraint"

Если я использую UpdateNotZero() как это:

...
player.AccountID = nil
_, err := db.Model(player).WherePK().UpdateNotZero()

, AccountID не обновляется вообще.

Как это сделать?


Связанные вопросы Думаю:

...