ruby-on-rails – Rails 3 Migration Alter Float Length / Deci
发布时间:2020-12-17 02:52:33 所属栏目:百科 来源:网络整理
导读:我如何在Rails 3迁移文件中更改浮点列的小数和长度属性.我试过以下没有成功: class IncreaseLatitudeLongitudeFieldLengths ActiveRecord::Migration def self.up change_column :skateparks,:latitude,:float,{:length = 15,:decimals = 12} change_column
我如何在Rails 3迁移文件中更改浮点列的小数和长度属性.我试过以下没有成功:
class IncreaseLatitudeLongitudeFieldLengths < ActiveRecord::Migration def self.up change_column :skateparks,:latitude,:float,{:length => 15,:decimals => 12} change_column :skateparks,:longitude,:decimals => 12} end def self.down change_column :skateparks,{:length => 0,:decimals => 0} change_column :skateparks,:decimals => 0} end end 解决方法
个人经验最有效(因为MySQL / sqlite有时会拒绝对列的更改):创建新列,复制数据,删除旧列,重命名新列.
# Example for latitude add_column :skateparks,:latitude2,:decimal,:precision => 15,:scale => 12 execute "UPDATE skateparks SET latitude2 = latitude" remove_column :skateparks,:latitude rename_column :skateparks,:latitude 编辑:第二次看:浮动,{:长度=> 15,:decimals =>似乎是错的.我假设你的意思是::decimal,:precision => 15,:scale => 12? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |