Sac*_*sad 16 mysql varchar ruby-on-rails ruby-on-rails-3
我想在生成模型的过程中通过git-bash定义rails中varchar的大小,例如name varchar(20),age varchar(6).
我在堆栈上搜索但找不到任何答案.
tad*_*man 31
创建为column方法记录的列时,有许多选项.它们也适用于add_column进行后续修改.
制作更有限列的最简洁方法是:
t.string :name, :limit => 20
t.string :age, :limit => 6
Run Code Online (Sandbox Code Playgroud)
需要注意的是,在您的数据库中强加这样的限制是非常不寻常的,更好的解决方案是限制使用的模型validates.例如:
validates :name,
:presence => true,
:length => { :maximum => 20 }
Run Code Online (Sandbox Code Playgroud)
MySQL倾向于在不告诉你的情况下截断太长的值,因此没有长度限制最终会导致数据丢失,尤其是如此短的长度.
请记住,VARCHAR在数据库中列有可变长度,所以没有存储优势十个字符值在VARCHAR(255)与一个VARCHAR(20).
| 归档时间: |
|
| 查看次数: |
11904 次 |
| 最近记录: |