You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Just ran into this as well. This happens for non-unque indexes, too
defmodule Blog.Resources.Page do
use Ash.Resource,
data_layer: AshPostgres.DataLayer
postgres do
table("pages")
repo(Blog.Repo)
custom_indexes do
- index [:published], unique: false- index [:published, :published_at], unique: false+ index [:is_published], unique: false+ index [:is_published, :published_at], unique: false
end
end
attributes do
uuid_primary_key :id
- attribute :published, :boolean do+ attribute :is_published, :boolean do
default false
end
attribute :published_at, :naive_datetime do
allow_nil? true
end
end
end
This change generates the following:
defmodule Blog.Repo.Migrations.TablePageRenamePublishedToIsPublished do
use Ecto.Migration
def up do
drop_if_exists index(:pages, ["published", "published_at"],
name: "pages_published_published_at_index"
)
drop_if_exists index(:pages, ["published"], name: "pages_published_index")
create index(:pages, ["is_published", "published_at"])
create index(:pages, ["is_published"])
rename table(:pages), :published, to: :is_published
end
def down do
rename table(:pages), :is_published, to: :published
drop_if_exists index(:pages, ["is_published"], name: "pages_is_published_index")
drop_if_exists index(:pages, ["is_published", "published_at"],
name: "pages_is_published_published_at_index"
)
create index(:pages, ["published"])
create index(:pages, ["published", "published_at"])
end
end
Note that down is correct. I guess it's a matter of ordering in the up generator. Should be drop index, rename column, create index.
Recreating the unique_index should happen after the rename action or do both index actions after the rename
The text was updated successfully, but these errors were encountered: