У меня есть такая таблица пользователей
create table(:users) do
add(:email, :citext)
add(:email_confirmation_token, :string)
add(:email_confirmed_at, :utc_datetime)
add(:deleted_at, :utc_datetime)
timestamps()
end
, и у меня есть User
схема как
schema "users" do
field(:email, :string)
field(:deleted_at, :utc_datetime)
field(:email_confirmed_at, :utc_datetime)
field(:email_confirmation_token, :string, default: ExApi.Utils.Random.string())
timestamps()
end
Теперь, если я вставляю запись с параметром on_conflict, я хочу сбросить deleted_at
но удаленный_ат никогда не передается в набор изменений.Я использовал следующую строку кода
attrs = %{"email" => "tanweer.shahzaad@gmail.com", "deleted_at" => nil}
cs = %User{} |> User.changeset(attrs)
ExApi.Repo.insert(cs, on_conflict: :replace_all, conflict_target: :email)
Любой обходной путь, который сбросит deleted_at
, будет очень полезен.
Проблема: если deleted_at
уже установлен, я хочу сбросить егоВернуться к нулю при вставке