Я пытаюсь выяснить, как лучше всего проверить, перезаписывают ли сохраненные мной значения те, которые находятся в базе данных.
Очевидно, я могу получить запись, сравнить данныеа затем сохранить, если это не так, но я подумал, есть ли способ узнать, когда сохранение будет сделано?
Я могу использовать обновление - и оно вернет значение, затронутое строкой> 1, но проблема в том, что обновление не может обновить значение в БД до значения типа по умолчанию Go (например, 0)следовательно, это не сработает для этого случая.
Например:
db.Table("object").Where("id = ?", obj).Save(obj)
log.Println(res.RowsAffected) // always equals 1
по сравнению с
res := db.Table("object").Where("id = ?", obj).Update(obj)
log.Println(res.RowsAffected) // equals 1 if updated
Есть идеи?