Size: a a a

2020 February 07

LL

Lama Lover in pro.elixir
источник

V

V in pro.elixir
Котаны, кто знает, как сделать, чтобы mix dialyzer запускалась с MIX_ENV=test (подобно тому, как это делает mix test)?
источник

LL

Lama Lover in pro.elixir
V
Котаны, кто знает, как сделать, чтобы mix dialyzer запускалась с MIX_ENV=test (подобно тому, как это делает mix test)?
MIX_ENV=test mix dialyzer ?
Я не понял чего ты хочешь
источник

V

V in pro.elixir
Ты же не пишешь MIX_ENV=test mix test
источник

LL

Lama Lover in pro.elixir
Ааа, ты про дефолтный энвайромент для команды
источник

PG

Pïg Grëënëst in pro.elixir
preferred_cli_env: [dialyzer: :test]
источник

PG

Pïg Grëënëst in pro.elixir
это добавляешь в project
источник

LL

Lama Lover in pro.elixir
Pïg Grëënëst
preferred_cli_env: [dialyzer: :test]
удваиваю
источник

V

V in pro.elixir
Помогло, спасибо
источник

IK

Ihor Katkov in pro.elixir
Ivan Rublev
Что обычно делает волонтер на Beam конфе?
Помогает с конференцией. Один день из двух ты полностью свободен, выбираешь сам какой. Во второй день, нужно одеть футболку слега команды организаторов, отвечать на вопросы участников, собирать оценки докладов
источник

IK

Ihor Katkov in pro.elixir
Pïg Grëënëst
убирает мусор
Из головы своей мусор вынеси сначала
источник

DI

Dmitry (Deex) Ivanov in pro.elixir
Ihor Katkov
Из головы своей мусор вынеси сначала
А хорошая шутка была
источник

m

madeinussr in pro.elixir
так себе шутка была
видим, что это очень субъективно
источник

M

Mark in pro.elixir
Господа, может кто натолкнет на правильную мысль.

def insert(params) do
   %User{}
   |> Ecto.Changeset.cast(initialize_params(params), [:chat_id, :first_name])
   |> Repo.insert()
 end


# user.ex

 def changeset(user, attrs) do
   user
   |> cast(attrs, [:chat_id, :first_name])
   |> validate_required([:chat_id])
   |> unique_constraint(:chat_id, name: :users_chat_id_index)
 end


Ошибка такая.

** (ex
it) an exception was raised:
   ** (Ecto.ConstraintError) constraint error when attempting to insert struct:

   * users_chat_id_index (unique_constraint)

If you would like to stop this constraint violation from raising an
exception and instead add it as an error to your changeset, please
call `unique_constraint/3` on your changeset with the constraint
`:name` as an option.

The changeset has not defined any constraint.


Где
туплю?
источник

LL

Lama Lover in pro.elixir
*
источник

LL

Lama Lover in pro.elixir
Похоже, что для unique_constraint нужно чтобы в базе был индекс users_chat_id_index
источник

M

Mark in pro.elixir
да да. я хочу не рейз ошибки а что бы Repo.insert() вернул {:error, %User{...}}
источник

M

Mark in pro.elixir
собсно в доке так и говорят добавить name: :users_chat_id_index в unique_constraint
источник

LL

Lama Lover in pro.elixir
Так а в базе индекс есть?
источник

SM

Sergei Maximov in pro.elixir
Mark
Господа, может кто натолкнет на правильную мысль.

def insert(params) do
   %User{}
   |> Ecto.Changeset.cast(initialize_params(params), [:chat_id, :first_name])
   |> Repo.insert()
 end


# user.ex

 def changeset(user, attrs) do
   user
   |> cast(attrs, [:chat_id, :first_name])
   |> validate_required([:chat_id])
   |> unique_constraint(:chat_id, name: :users_chat_id_index)
 end


Ошибка такая.

** (ex
it) an exception was raised:
   ** (Ecto.ConstraintError) constraint error when attempting to insert struct:

   * users_chat_id_index (unique_constraint)

If you would like to stop this constraint violation from raising an
exception and instead add it as an error to your changeset, please
call `unique_constraint/3` on your changeset with the constraint
`:name` as an option.

The changeset has not defined any constraint.


Где
туплю?
Ты в insert/1 вызываешь не User.changeset/2, а Ecto.Changeset.cast
источник