我使用字段整数在customers表中有contact_number.我尝试在rails c中创建一条记录,但显然它无法存储更大的数字字段.我在网上环顾四周,我认为我应该使用浮点而不是整数给出10个数字的精度,就像在州里一样
我的想法是创建一个新的迁移
class ChangeContactNumberInCustomerTableToFloatFromInteger < ActiveRecord::Migration def change_table remove_column :customers, :contact_number, :integer add_column :customers, :contact_number, :float end end
如何指定精度,这是正确的方法吗?
首先,如果我是正确contact_number
的电话号码,您将需要使用字符串而不是数字字段.电话号码不是数字值,因为它们是数字的集合.或者更一般地说,它们是角色的集合,恰好仅限于数字.
此外,解析区号和国家/地区代码也会更容易,如果这是相关的(但假设您需要解析国家和地区代码,您仍然希望将它们存储在单独的列中,但这是一个不同的讨论)
要直接回答您的问题,请改用该change_column
方法,如下所示:
change_column :customers, :contact_number, :string
详细信息请访问:http://api.rubyonrails.org/classes/ActiveRecord/Migration.html