mirror of
https://github.com/ash-project/ash_postgres.git
synced 2024-09-20 21:43:12 +12:00
55 lines
1.3 KiB
Elixir
55 lines
1.3 KiB
Elixir
|
defmodule AshPostgres.TestRepo.Migrations.MigrateResources26 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
|
||
|
alter table(:posts) do
|
||
|
add(:uniq_if_contains_foo, :text)
|
||
|
end
|
||
|
|
||
|
drop_if_exists(
|
||
|
unique_index(:posts, [:"UPPER(uniq_on_upper)"], name: "posts_uniq_on_upper_index")
|
||
|
)
|
||
|
|
||
|
create(
|
||
|
unique_index(:posts, ["UPPER(uniq_on_upper)"],
|
||
|
where: "type = 'sponsored'",
|
||
|
name: "posts_uniq_on_upper_index"
|
||
|
)
|
||
|
)
|
||
|
|
||
|
create(
|
||
|
unique_index(:posts, [:uniq_if_contains_foo],
|
||
|
name: "posts_uniq_if_contains_foo_index",
|
||
|
where: "((uniq_if_contains_foo LIKE '%foo%')) AND (type = 'sponsored')"
|
||
|
)
|
||
|
)
|
||
|
end
|
||
|
|
||
|
def down do
|
||
|
drop_if_exists(
|
||
|
unique_index(:posts, [:uniq_if_contains_foo], name: "posts_uniq_if_contains_foo_index")
|
||
|
)
|
||
|
|
||
|
drop_if_exists(
|
||
|
unique_index(:posts, ["UPPER(uniq_on_upper)"], name: "posts_uniq_on_upper_index")
|
||
|
)
|
||
|
|
||
|
create(
|
||
|
unique_index(:posts, [:"UPPER(uniq_on_upper)"],
|
||
|
where: "type = 'sponsored'",
|
||
|
name: "posts_uniq_on_upper_index"
|
||
|
)
|
||
|
)
|
||
|
|
||
|
alter table(:posts) do
|
||
|
remove(:uniq_if_contains_foo)
|
||
|
end
|
||
|
end
|
||
|
end
|