Current section

Files

Jump to
blossom lib blossom migrations postgres v17.ex
Raw

lib/blossom/migrations/postgres/v17.ex

defmodule Blossom.Migrations.Postgres.V17 do
use Ecto.Migration
def up(_opts) do
drop(constraint(:organizations, "organizations_realm_fkey"))
rename(table(:organizations), to: table(:casks))
rename(
index(:casks, [:realm, :slug], name: "organizations_realm_slug_index"),
to: "casks_realm_slug_index"
)
rename(index(:casks, [:id], name: "organizations_pkey"),
to: "casks_pkey"
)
alter table(:casks) do
modify(
:realm,
references(:realms, type: :uuid, on_delete: :delete_all),
null: true
)
end
drop(
constraint(:organizations_roles, "organizations_roles_organization_fkey")
)
rename(table(:organizations_roles), :organization, to: :cask)
alter table(:organizations_roles) do
modify(
:cask,
references(:casks, type: :uuid, on_delete: :delete_all),
null: false
)
end
end
def down(_opts) do
drop(constraint(:casks, "casks_realm_fkey"))
rename(table(:casks), to: table(:organizations))
rename(index(:organizations, [:id], name: "casks_pkey"),
to: "organizations_pkey"
)
rename(
index(:organizations, [:realm, :slug], name: "casks_realm_slug_index"),
to: "organizations_realm_slug_index"
)
alter table(:organizations) do
modify(
:realm,
references(:realms, type: :uuid, on_delete: :delete_all),
null: true
)
end
drop(constraint(:organizations_roles, "organizations_roles_cask_fkey"))
rename(table(:organizations_roles), :cask, to: :organization)
alter table(:organizations_roles) do
modify(
:organization,
references(:organizations, type: :uuid, on_delete: :delete_all),
null: false
)
end
end
end