在绕过Active Record Validation的同时从数据库导入/导出数据的最佳方法

时间:2013-04-11 16:11:46

标签: mysql ruby-on-rails import export

我有一个大型控制台查询,它可以调用130个对象及其所有关联对象,共计约2,000个项目。

我想以某种方式导出此查询的原始SQL数据,以便我可以将原始数据注入另一个数据库。

有没有一个宝石,或策略来完成这样的事情?

1 个答案:

答案 0 :(得分:1)

如果您不需要主动记录验证,我建议您只使用mysql:

如果您的查询很简单(或者可以分解为多个简单查询),您可以使用--where option of mysqldump导出您希望的数据,然后使用标准的mysql客户端重新导入它:

mysqldump db_name --where "id IN (1, 3, 5)" > export.sql
mysql new_db < export.sql

我认为mysqldump不支持带连接的查询,所以如果你有一个更复杂的查询,可以使用mysql的SELECT INTO OUTFILE查询将数据导出到csv,然后LOAD DATA INFILE导入它。