【发布时间】:2015-10-02 23:44:34
【问题描述】:
关于 ActiveRecord 表创建中:null 选项的快速问题。
假设我要创建一个包含description 列的新表。
def change
create_table :products do |t|
t.string :name
t.text :description, null: false
end
end
如果我的模型中没有关于description 列的任何:presence 验证,那么“无”是否应该能够传递到描述列中?我不确定null: false 可以做些什么来阻止我什么都不传递,因为我没有任何验证。
【问题讨论】:
-
如果您不需要对描述进行任何存在验证,请从迁移中删除 null: false。 null false 将强制要求必须有一些东西来进行描述
-
:null => false告诉您的数据库不要接受 NULL 值。继续尝试创建一个描述为空的产品并告诉我它是否保存到数据库中
标签: sql ruby-on-rails migration database-migration