Rails 3,将模型中的字段从字符串更改为日期时间类型

Ell*_*iot 3 ruby mysql ruby-on-rails ruby-on-rails-3

在制作我的模型时,我将行类型设为字符串(我当时并不知道日期时间).目前我有大量的记录,这行已填满.有没有一种安全的方法可以通过迁移将模型的行转换为日期时间 - 除了删除它,然后再添加它?

谢谢!

gic*_*ppa 7

根据文档,这是在datetime中转换字符串的迁移示例.我不确定它会起作用,所以你可能想在dev/stage env上尝试一下,然后再去prod env.

class ChangeColumnToUsers < ActiveRecord::Migration
  def self.up
    change_column :users, :created_at, :datetime

  end

  def self.down
    change_column :users, :created_at, :string
  end
end
Run Code Online (Sandbox Code Playgroud)