设置:null => false作为创建表迁移时的默认行为

时间:2011-10-18 19:21:37

标签: ruby-on-rails migration

我有一个迁移用于创建一个包含大约15个字段的表,并且所有字段都不应为null。我想知道是否有任何技巧可以立即执行,而不是为每个字段声明:null => false

1 个答案:

答案 0 :(得分:6)

实际上,您可以使用with_options执行此操作。它最常用于路由和设置验证,但它实际上适用于将选项哈希作为最后一个参数的任何方法。所以,像:

create_table :foo do |t| 
  t.with_options :null => false do |opt|
    opt.string :column_name
    opt.string :other_column_name
  end
end

这是documentation on Object#with_options