如何为 Sequel add_unique_constraint 迁移添加下块

How to add a down block for Sequel add_unique_constraint migration

我在 PostgreSQL 中有一个 Sequel 迁移,它运行正常,但没有运行:

Sequel.migration do
  change do
    alter_table(:files) do
      add_unique_constraint [:name, :folder]
    end
  end
end

尝试从此块向下迁移时,Sequel 的错误消息说这是一个 "irreversible migration" 并建议写下我的 "own down method".

如何写下这个特定迁移的方法?

根据 docs:

Sequel.migration do
  up do
    alter_table(:files) do
      add_unique_constraint [:name, :folder]
    end
  end

  down do
    alter_table(:files) do
      drop_constraint(:your_constraint_name, :type=>:unique)
    end
  end
end

您必须找出唯一性约束的名称。它应该出现在您的架构中,并且应该类似于 index_files_on_name_and_folder.