mirror of
https://github.com/ash-project/ash_admin.git
synced 2024-09-20 21:32:56 +12:00
65 lines
1.8 KiB
Elixir
65 lines
1.8 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: true, default: nil, primary_key: true)
|
||
|
add(:representative, :boolean, null: true, default: nil, primary_key: false)
|
||
|
add(:last_name, :text, null: true, default: nil, primary_key: false)
|
||
|
add(:first_name, :text, null: true, default: nil, primary_key: false)
|
||
|
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, null: false, default: false, primary_key: false)
|
||
|
end
|
||
|
|
||
|
create table(:tickets, primary_key: false) do
|
||
|
add(:id, :binary_id, null: true, default: nil, primary_key: true)
|
||
|
add(:subject, :text, null: false, default: nil, primary_key: false)
|
||
|
add(:status, :text, null: false, default: nil, primary_key: false)
|
||
|
add(:response, :text, null: true, default: nil, primary_key: false)
|
||
|
|
||
|
add(:representative_id, references("users", type: :binary_id, column: :id),
|
||
|
default: nil,
|
||
|
primary_key: false
|
||
|
)
|
||
|
|
||
|
add(:reporter_id, references("users", type: :binary_id, column: :id),
|
||
|
default: nil,
|
||
|
primary_key: false
|
||
|
)
|
||
|
|
||
|
add(:description, :text, null: true, default: nil, primary_key: false)
|
||
|
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
|