require 'lhm'
class RenameField1ToField2ForTable < ActiveRecord::Migration
def up
Lhm.change_table :table do |m|
m.ddl("ALTER TABLE %s CHANGE COLUMN field1 field2 FLOAT DEFAULT NULL AFTER field3" m.name)
end
end
def down
Lhm.change_table :table do |m|
m.ddl("ALTER TABLE %s CHANGE COLUMN field2 field1 FLOAT DEFAULT NULL AFTER field3" m.name)
end
end
end
What happend:
- Rails-4.0: rake db:migrate
- Field was renamed successfully.
- All existing field values are erased, why? Any ideas?
Edit:
- old datatype was
float(11) - MYSQL 5.6