slax/priv/repo/migrations/20250205000835_alter_users_add_username.exs

26 lines
464 B
Elixir
Raw Normal View History

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