ash_postgres/priv/test_repo/migrations/20240713134055_multi_domain_calculations.exs

128 lines
3 KiB
Elixir
Raw Normal View History

2024-07-14 08:06:52 +12:00
defmodule AshPostgres.TestRepo.Migrations.MultiDomainCalculations 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(:sub_items, primary_key: false) do
add(:id, :uuid, null: false, default: fragment("uuid_generate_v7()"), primary_key: true)
add(:amount, :bigint, null: false)
add(:inserted_at, :utc_datetime_usec,
null: false,
default: fragment("(now() AT TIME ZONE 'utc')")
)
add(:updated_at, :utc_datetime_usec,
null: false,
default: fragment("(now() AT TIME ZONE 'utc')")
)
add(:other_item_id, :uuid, null: false)
end
create table(:other_items, primary_key: false) do
add(:id, :uuid, null: false, default: fragment("uuid_generate_v7()"), primary_key: true)
end
alter table(:sub_items) do
modify(
:other_item_id,
references(:other_items,
column: :id,
name: "sub_items_other_item_id_fkey",
type: :uuid,
prefix: "public",
on_delete: :delete_all
)
)
end
create(index(:sub_items, [:other_item_id]))
alter table(:other_items) do
add(:inserted_at, :utc_datetime_usec,
null: false,
default: fragment("(now() AT TIME ZONE 'utc')")
)
add(:updated_at, :utc_datetime_usec,
null: false,
default: fragment("(now() AT TIME ZONE 'utc')")
)
add(:item_id, :uuid, null: false)
end
create table(:items, primary_key: false) do
add(:id, :uuid, null: false, default: fragment("uuid_generate_v7()"), primary_key: true)
end
alter table(:other_items) do
modify(
:item_id,
references(:items,
column: :id,
name: "other_items_item_id_fkey",
type: :uuid,
prefix: "public",
on_delete: :delete_all
)
)
end
create(index(:other_items, [:item_id]))
alter table(:items) do
add(:inserted_at, :utc_datetime_usec,
null: false,
default: fragment("(now() AT TIME ZONE 'utc')")
)
add(:updated_at, :utc_datetime_usec,
null: false,
default: fragment("(now() AT TIME ZONE 'utc')")
)
end
end
def down do
alter table(:items) do
remove(:updated_at)
remove(:inserted_at)
end
drop_if_exists(index(:other_items, [:item_id]))
drop(constraint(:other_items, "other_items_item_id_fkey"))
alter table(:other_items) do
modify(:item_id, :uuid)
end
drop(table(:items))
alter table(:other_items) do
remove(:item_id)
remove(:updated_at)
remove(:inserted_at)
end
drop_if_exists(index(:sub_items, [:other_item_id]))
drop(constraint(:sub_items, "sub_items_other_item_id_fkey"))
alter table(:sub_items) do
modify(:other_item_id, :uuid)
end
drop(table(:other_items))
drop(table(:sub_items))
end
end