Files
dexi/priv/repo/migrations/20260826134703_create_users.exs

21 lines
592 B
Elixir

defmodule Dexi.Repo.Migrations.CreateUsers do
use Ecto.Migration
def change do
execute "CREATE EXTENSION IF NOT EXISTS citext", "DROP EXTENSION IF EXISTS citext"
create table(:users, primary_key: false) do
add :pubkey, :text, primary_key: true
add :email, :citext
add :name, :string
add :role, :string, null: false, default: "user"
timestamps(type: :utc_datetime)
end
create unique_index(:users, [:email], where: "email IS NOT NULL")
create constraint(:users, :users_role_must_be_valid, check: "role IN ('user', 'admin')")
end
end