我正在将数据从表A迁移到表B.
表A包含字段id
,parent_id
,title
,credit
。
表B包含字段id
,parent_id
,title
,credit
。其中id是自动增量字段。
表A具有自我关联,其中parent_id
指的是表A中的一行。
从rake任务我需要将数据从表A迁移到表B.
表A中的样本数据:
id | parent_id | title | credit
12 | nil | ABC | 1
13 | 12 | XYZ | 1
14 | 12 | PQR | 0
15 | 13 | NOP | 1
将数据迁移到表B后,它应该是这样的:
id | parent_id | title | credit
1 | nil | ABC | 1
2 | 1 | XYZ | 1
3 | 1 | PQR | 0
4 | 2 | NOP | 1
使用ruby脚本将数据从表A迁移到表B时,我可以使用新的title
更新credit
,id
。如何更新parent_id
?
感谢您的支持。
答案 0 :(得分:0)
创建后更新父ID。像这样的东西,
a = A.all
a.each { |v|
B.create!({parent_id: v.parent_id,title: v.title,credit: v.credit})
A.update_all({parent_id: B.last.id},{parent_id: v.parent_id})
}
答案 1 :(得分:0)
我想你也需要更新你的ID。
table_b_obj.id = table_a_obj.id
table_b_obj.save!
table_b_obj.reload