Presence:true 对比 null:false 迁移 table
Presence:true vs. null:false in migration table
我正在处理一个小组项目,一位团队成员建议将 presence:true
添加到迁移文件而不是 null:false
。
例如:
create_table :item do |t|
t.string :name, presence:true
对比
create_table :item do |t|
t.string :name, null:false
我只在迁移文件中看到 null:false,想知道您是否真的可以将 presence:true 添加到迁移中而不是 null:false
,或者如果 presence:true
应该只是模型中的验证。如果是这样,哪个是最佳做法?
谢谢!
我想这取决于您使用的数据库以及它支持的关键字。
因此,如果您使用的数据库支持关键字 'presence:true',则可以使用它。
然而,最佳做法是使用 null:false,我从未见过其他任何东西。
另外,Rails针对这种情况有一个特殊的迁移方法,叫做change_column_null http://apidock.com/rails/ActiveRecord/ConnectionAdapters/SchemaStatements/change_column_null
希望对你有用。
我正在处理一个小组项目,一位团队成员建议将 presence:true
添加到迁移文件而不是 null:false
。
例如:
create_table :item do |t|
t.string :name, presence:true
对比
create_table :item do |t|
t.string :name, null:false
我只在迁移文件中看到 null:false,想知道您是否真的可以将 presence:true 添加到迁移中而不是 null:false
,或者如果 presence:true
应该只是模型中的验证。如果是这样,哪个是最佳做法?
谢谢!
我想这取决于您使用的数据库以及它支持的关键字。 因此,如果您使用的数据库支持关键字 'presence:true',则可以使用它。
然而,最佳做法是使用 null:false,我从未见过其他任何东西。
另外,Rails针对这种情况有一个特殊的迁移方法,叫做change_column_null http://apidock.com/rails/ActiveRecord/ConnectionAdapters/SchemaStatements/change_column_null
希望对你有用。