将Rails中的列更改为唯一

时间:2015-11-20 16:42:49

标签: mysql ruby-on-rails

我知道之前已经提出了许多类似的问题,但我还没有找到这个问题(也许这是不可能的)。

所以我的Rails表中有一个Column_A(使用MySQL)。最近,我们需要在此专栏中强制执行唯一性。

是否可以对此列进行更改以使其唯一?

我想出的唯一其他解决方案是创建一个临时的唯一列并随机播放所有内容。这将是一种痛苦。

谢谢!

2 个答案:

答案 0 :(得分:8)

简单的两步流程:

1:创建迁移

change_column :table_name, :column_name, :string, unique: true

2:在模型中添加验证

validates_uniqueness_of :column_name

答案 1 :(得分:0)

您可以这样添加索引:

add_index :table_name, :column_name, unique: true
  • rails 5.2