无法使用 Sequel 和 Sqlite3 更改具有唯一约束的 table

Unable to alter table with unique constrain using Sequel and Sqlite3

这些是我对 table users_hobbies:

的迁移

创建:

Sequel.migration do
  up do
    create_table :users_hobbies do
      Integer :user_id
      Integer :hobby_id
    end
  end

  down do
    drop_table :users_hobbies
  end
end

改变:

Sequel.migration do
  up do
    alter_table :users_hobbies do
      unique [:user_id, :hobby_id]
    end
  end

  down do
  end
end

当我进行第二次迁移时出现以下错误,有什么想法吗?

NoMethodError: undefined method 'unique' for #<Sequel::Schema::AlterTableGenerator:0x007fba1aea7c30>

unique 仅在 create_table 块中定义。在 alter_table 个块中,您需要使用 add_unique_constraint.