Уже часа два бьюсь, никак не понимаю ЧЯДНТ: есть
Tag has_many_Spot join “tags_spots”
, есть
create unique_index(:tags_spots, [:tag_id, :spot_id])
, в Tag написал:
def spots_changeset(tag, spots) do
tag
|> change
|> put_assoc(:spots, spots)
|> unique_constraint(:spots, name: :tags_spots_tag_id_spot_id_index)
end
далее запускаю в тесте:
ta
g = get_user_tag(@user_id, @tag_id)
{:ok, spot_a} = create_user_spot(@user_id, %{"name" => "Spot A"})
assert {:error, %Ecto.Changeset{}} = update_tag_spots(tag, [spot_a, spot_a])
и получаю ** (MyXQL.Error) (1062) (ER_DUP_ENTRY) Duplicate entry '81-20' for key 'tags_spots.tags_spots_tag_id_spot_id_index’