Rails 3数据库移植

问题描述

必须快速将某些东西拍在一起,以将一个表(约3万条记录)从一个数据库移动到另一个具有不同名称的数据库。 我使用RoR的黑客解决方案是这样的:
for old_line in SaleItemsOld.where(:sale_id => old_sale.id)
    line = LineItems.new
        line.sale_id = new_sale.id
        ...
    line.save
end
我以为应该通过将所有这些新行作为SQL查询构造在单个字符串中,然后一次性执行,从而加快这一步。 为此有更好的Rails解决方案吗?     

解决方法

通常,您可以通过迁移和一些精心构造的SQL来完成此类操作。通常,此想法是针对以下方面:
INSERT INTO line_items (sale_id) SELECT id FROM sale_items_old
您可以根据需要将其他值添加到插入列表和选择规范中。 在迁移中,可以通过将其放入
up
方法中来运行任意SQL:
def self.up
  execute(\"...\")
end
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...