slax/priv/repo/migrations/20250205000835_alter_users_add_username.exs
Joao P Dubas 24b609ec3a
feat(chat): add username to users
And use it instead of hacky email transformation.
2025-02-13 23:13:36 +00:00

26 lines
464 B
Elixir

defmodule Slax.Repo.Migrations.AlterUsersAddUsername do
use Ecto.Migration
def change do
alter table(:users) do
add :username, :citext
end
query = """
update
users
set
username = initcap(substring(email from '^[^@]+'))
;
"""
execute query, ""
alter table(:users) do
modify :username, :citext, null: false, from: {:citext, null: true}
end
create unique_index(:users, :username)
end
end