我有桌子。而且我已经进行了迁移并设置在那里add_column :articles, :hash_code, :string, :unique => true
,但它不起作用。
你能给我任何帮助吗?
我有桌子。而且我已经进行了迁移并设置在那里add_column :articles, :hash_code, :string, :unique => true
,但它不起作用。
你能给我任何帮助吗?
:unique => true 属于 add_index 语句而不是 add_column 语句。
add_index 语法如下所示:
add_index :table_name, :column_name, :unique => true
根据指南
Active Record 方式声称智能属于您的模型,而不是数据库。因此,诸如触发器或外键约束等将部分情报推回数据库的功能并未得到大量使用。
validates :foreign_key, :uniqueness => true 等验证是模型强制数据完整性的一种方式。关联上的 :dependent 选项允许模型在父对象被销毁时自动销毁子对象。
因此,您需要做的就是验证模型中属性的唯一性,就是这样!如果您也想添加索引,那么可以将其添加到迁移文件本身中。