我创建了一个迁移,将列名type
重命名为checkin_type
。重命名type
列之前包含旧记录的某些值。但是,在将列重命名为checkin_type
后进行迁移时,会为所有记录设置值NULL
。
我很困惑,迁移是对的还是错的。想法是,虽然重命名旧保存记录的列值不应该更改。
这是我的迁移
class RenameTypeToCheckinType < ActiveRecord::Migration
def self.up
Lhm.change_table :checkins do |m|
m.ddl(sprintf("alter table %s CHANGE type checkin_type VARCHAR(100)", m.name))
end
end
def self.down
Lhm.change_table :checkins do |m|
m.ddl(sprintf("alter table %s CHANGE checkin_type type VARCHAR(100)", m.name))
end
end
端