当前位置:  开发笔记 > 后端 > 正文

将rails中的列从integer更改为float

如何解决《将rails中的列从integer更改为float》经验,为你挑选了1个好方法。

我使用字段整数在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

如何指定精度,这是正确的方法吗?



1> Paul Richter..:

首先,如果我是正确contact_number的电话号码,您将需要使用字符串而不是数字字段.电话号码不是数字值,因为它们是数字的集合.或者更一般地说,它们是角色的集合,恰好仅限于数字.

此外,解析区号和国家/地区代码也会更容易,如果这是相关的(但假设您需要解析国家和地区代码,您仍然希望将它们存储在单独的列中,但这是一个不同的讨论)

要直接回答您的问题,请改用该change_column方法,如下所示:

change_column :customers, :contact_number, :string

详细信息请访问:http://api.rubyonrails.org/classes/ActiveRecord/Migration.html

推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有