diff --git a/lib/slax/chat/room.ex b/lib/slax/chat/room.ex index 3c62cf1..948599f 100644 --- a/lib/slax/chat/room.ex +++ b/lib/slax/chat/room.ex @@ -19,5 +19,6 @@ defmodule Slax.Chat.Room do message: "can only contain lowercase letters, numbers, and dashes" ) |> validate_length(:topic, max: 200) + |> unique_constraint(:name) end end diff --git a/priv/repo/migrations/20241021233716_alter_rooms_add_unique_on_name.exs b/priv/repo/migrations/20241021233716_alter_rooms_add_unique_on_name.exs new file mode 100644 index 0000000..f07439a --- /dev/null +++ b/priv/repo/migrations/20241021233716_alter_rooms_add_unique_on_name.exs @@ -0,0 +1,7 @@ +defmodule Slax.Repo.Migrations.AlterRoomsAddUniqueOnName do + use Ecto.Migration + + def change do + create unique_index(:rooms, :name) + end +end