Mis*_*hko 14 mysql ruby-on-rails unique unique-constraint ruby-on-rails-3
我有一列一个简单的MySQL表:name.
我想在此列上定义一个唯一约束.
我可以:
class MyModel < ActiveRecord::Base
validates_uniqueness_of :my_column_name
end
Run Code Online (Sandbox Code Playgroud)
但它只能在应用程序级别工作,而不能在数据库级别工作.
你会建议什么?
Eri*_*hic 33
使用以下方法向数据库本身添加唯一约束:
add_index :my_models, :my_column_name, unique: true
Run Code Online (Sandbox Code Playgroud)
...通过迁移(您可能希望my_column_name也不接受任何空值:
class CreateMyModels < ActiveRecord::Migration
def change
create_table :my_models do |t|
t.string :my_column_name, null: false
t.timestamps
end
add_index :my_models, :my_column_name, unique: true
end
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12896 次 |
| 最近记录: |