作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
false t.integer -6ren">
我有以下 rails 迁移:
create_table :articles do |t|
t.integer :user_id, :allow_null => false
t.integer :genre_id, :allow_null => false
t.string :url, :limit => 255, :allow_null => false
t.string :title, :limit => 60, :allow_null => false
t.text :summary, :limit => 350, :allow_null => false
t.integer :votes_count, :default => 0
t.datetime :published_at, :default => nil
t.timestamps
end
首先在模型中验证所有“NOT NULL”字段,所以我想知道是否需要在迁移中使用 allow_null?我不确定“NOT NULL”对数据库有什么好处(如果有的话)。
最佳答案
如果您指的是性能或存储效率,那就不多了。但是,将尽可能多的低级约束推送到数据库层只是一种很好的做法。一方面,它保证 Rails 中的细微错误不会导致非空字段中出现一些随机的 NULL
数据。同样,如果您曾经针对同一个数据库运行另一个应用程序,那么将约束放在一个中心位置以进行维护和避免重复将非常有帮助。
关于mysql - 什么时候应该在 MySQL 表中使用 "NOT NULL",有什么好处吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/240544/
我是一名优秀的程序员,十分优秀!