【问题标题】:Unable to alter table with unique constrain using Sequel and Sqlite3无法使用 Sql 和 Sqlite3 更改具有唯一约束的表
【发布时间】:2015-09-13 14:15:58
【问题描述】:

这些是我对 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>

【问题讨论】:

    标签: ruby sqlite sequel padrino


    【解决方案1】:

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

    【讨论】:

    • 不知何故我很久没有弄清楚这一点,所以我选择编辑旧的迁移:D。伤心。无论如何,谢谢!
    猜你喜欢
    • 2021-09-13
    • 2021-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-10
    • 2016-09-20
    • 2011-11-28
    • 1970-01-01
    相关资源
    最近更新 更多