在rails项目中,我们正在尝试将数据从一个表迁移到另一个表。当我们创建原始表时,我们使用(代码段):
create_table :my_original_table do |t|
#OTHER COLUMNS HERE
t.integer :first_record_pub
end
然后,当我们创建要迁移到的第二个表时,我们使用:
create_table :my_second_table do |t|
#OTHER COLUMNS HERE
t.integer :my_pub
end
最后,当我们迁移实际数据时,我们使用:
original_value = MyOriginalTable.all
original_value.each do |s|
new_first_record = MySecondTable.new
#OTHER DATA MIGRATIONS HERE
new_first_record.my_pub = s.first_record_pub
new_first_record.save
end
我们迁移的所有其他列(我注释掉的那些)都完美迁移。但是,在迁移的my_second_table中,my_pub列有一些空白的条目(预期,原始表中的某些条目为空),其他条目的值只有“1”。由于某种原因,未正确迁移正确的first_record_pub值。
有没有人对如何解决这个问题有任何想法? 谢谢!
答案 0 :(得分:1)
您是在创建新列,还是尝试在同一次迁移中将数据移入该列?如果是这样,您可能需要在创建列和向其移动数据之间调用reset_column_information,或者将数据的创建和移动分成两个单独的迁移。