モデルを作成するときに、文字列として行型を作成しました(私はその時点でdatetimeを認識していませんでした)。現在、私は行がいっぱいのレコードをたくさん持っています。マイグレーションによってモデルの行をdatetimeに変換する安全な方法はありますか?削除するだけでなく、追加するだけです。Rails 3、モデルのフィールドを文字列からdatetime型に変更する
ありがとうございます!
モデルを作成するときに、文字列として行型を作成しました(私はその時点でdatetimeを認識していませんでした)。現在、私は行がいっぱいのレコードをたくさん持っています。マイグレーションによってモデルの行をdatetimeに変換する安全な方法はありますか?削除するだけでなく、追加するだけです。Rails 3、モデルのフィールドを文字列から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
は、私が何を探しているが、これは日時の文字列を変換し、移行の一例である文書によってchange_column
http://apidock.com/rails/v3.0.0/ActiveRecord/ConnectionAdapters/SchemaStatements/change_column
MySQLは内部的な 'CONVERT(users.created_at、DATETIME)'を実行しているようです - created_atカラムの文字列が正しくフォーマットされているので、これはシームレスに機能していました。 –