mirror of
https://github.com/ash-project/ash_admin.git
synced 2024-09-20 21:32:56 +12:00
51 lines
1.5 KiB
Elixir
51 lines
1.5 KiB
Elixir
|
defmodule Demo.Repo.Migrations.MigrateResources1 do
|
||
|
@moduledoc """
|
||
|
Updates resources based on their most recent snapshots.
|
||
|
|
||
|
This file was autogenerated with `mix ash_postgres.generate_migrations`
|
||
|
"""
|
||
|
|
||
|
use Ecto.Migration
|
||
|
|
||
|
def up do
|
||
|
create table(:users, primary_key: false) do
|
||
|
add :id, :binary_id, null: false, default: fragment("uuid_generate_v4()"), primary_key: true
|
||
|
add :representative, :boolean
|
||
|
add :last_name, :text
|
||
|
add :first_name, :text
|
||
|
end
|
||
|
|
||
|
create unique_index(:users, [:first_name, :last_name],
|
||
|
name: "users_representative_name_unique_index",
|
||
|
where: "representative = true"
|
||
|
)
|
||
|
|
||
|
alter table(:users) do
|
||
|
add :admin, :boolean, default: false
|
||
|
end
|
||
|
|
||
|
create table(:tickets, primary_key: false) do
|
||
|
add :id, :binary_id, null: false, default: fragment("uuid_generate_v4()"), primary_key: true
|
||
|
add :subject, :text, null: false
|
||
|
add :status, :text, null: false
|
||
|
add :response, :text
|
||
|
add :representative_id, references(:users, type: :binary_id, column: :id)
|
||
|
add :reporter_id, references(:users, type: :binary_id, column: :id)
|
||
|
add :description, :text
|
||
|
end
|
||
|
end
|
||
|
|
||
|
def down do
|
||
|
drop table(:tickets)
|
||
|
|
||
|
alter table(:users) do
|
||
|
remove :admin
|
||
|
end
|
||
|
|
||
|
drop_if_exists unique_index(:users, [:first_name, :last_name],
|
||
|
name: "users_representative_name_unique_index"
|
||
|
)
|
||
|
|
||
|
drop table(:users)
|
||
|
end
|
||
|
end
|