20260530210131_create_users_auth_tables.exs (834B)
1 defmodule DailyTracker.Repo.Migrations.CreateUsersAuthTables do 2 use Ecto.Migration 3 4 def change do 5 execute "CREATE EXTENSION IF NOT EXISTS citext", "" 6 7 create table(:users) do 8 add :email, :citext, null: false 9 add :hashed_password, :string 10 add :confirmed_at, :utc_datetime 11 12 timestamps(type: :utc_datetime) 13 end 14 15 create unique_index(:users, [:email]) 16 17 create table(:users_tokens) do 18 add :user_id, references(:users, on_delete: :delete_all), null: false 19 add :token, :binary, null: false 20 add :context, :string, null: false 21 add :sent_to, :string 22 add :authenticated_at, :utc_datetime 23 24 timestamps(type: :utc_datetime, updated_at: false) 25 end 26 27 create index(:users_tokens, [:user_id]) 28 create unique_index(:users_tokens, [:context, :token]) 29 end 30 end