如何为Sequel add_unique_constraint迁移添加一个向下块

时间:2017-05-04 03:35:38

标签: ruby postgresql sequel

我在PostgreSQL中有一个Sequel迁移,它可以运行,但不会失效:

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

当尝试从此块向下迁移时,Sequel的错误消息表明这是一个不可逆转的迁移"并建议写下我自己的'#34;。

如何为此特定迁移编写down方法?

1 个答案:

答案 0 :(得分:1)

根据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