2011-01-11 4 views
3

モデルを作成するときに、文字列として行型を作成しました(私はその時点でdatetimeを認識していませんでした)。現在、私は行がいっぱいのレコードをたくさん持っています。マイグレーションによってモデルの行をdatetimeに変換する安全な方法はありますか?削除するだけでなく、追加するだけです。Rails 3、モデルのフィールドを文字列からdatetime型に変更する

ありがとうございます!

答えて

6

だと思います。私はそれが動作するかどうか分からないので、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 
+0

MySQLは内部的な 'CONVERT(users.created_at、DATETIME)'を実行しているようです - created_atカラムの文字列が正しくフォーマットされているので、これはシームレスに機能していました。 –

関連する問題