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
Cos'è successo:ALTER TABLE migrazione LHM cancella valori esistenti
- Rails-4.0: rake db: migrate
- Il campo è stato rinominato con successo.
- Tutti i valori di campo esistenti vengono cancellati, perché? Qualche idea?
Edit:
- vecchio tipo di dati era
float(11)
- MYSQL 5,6
Qual è stato il tipo di dati precedente? – Matt
Old Datatype era float (11) –
versione MySQL? –