ruby-on-rails - Rails : change column type, 但保留数据

标签 ruby-on-rails model

我有一个类型为 integer 的列的模型我想转换为类型 string .现在我正在寻找更改列类型的最佳方法 没有 丢失数据。有没有一种无痛的方法来实现这一点?

最佳答案

使用 change_column 方法的标准迁移会将整数转换为字符串,而不会丢失任何数据。如果需要, rake db:rollback 也将无错误地进行反向迁移。

这是我用来确认此行为的测试迁移:

class ChangeAgeToString < ActiveRecord::Migration
  def self.up
    change_column :users, :age, :string
  end

  def self.down
    change_column :users, :age, :integer
  end
end

关于ruby-on-rails - Rails : change column type, 但保留数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9532149/

相关文章:

ruby-on-rails - 从 Ruby 中的图像 url 将图像上传到 AWS?

algorithm - LDA和主题模型

ruby - #<User :1123123123> 的未定义方法 `password'

algorithm - 学习算法骨架的一些好的起点是什么?

mysql - 如何仅对付款总额为正的记录进行分组?

ruby-on-rails - 运行 RSpec 测试时出现 NoMethodError

javascript - 使用 Rails 和 Slim 的自定义 Javascript 类型

ruby-on-rails - Rails 模型的默认条件

php - 如何改变CakePHP中 'joins'的顺序?

javascript - Mapbox map 未随 Rails 显示