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

saut 发布于 2019-03-09 export 最后更新 2019-03-09 14:35 3 浏览

我有一个大的控制台查询,调用130个对象及其所有关联对象总共约2000个项目。 我想以某种方式导出此查询的原始SQL数据,以便我可以将该原始数据注入到另一个数据库中。 有没有一种宝石或战略来完成这样的事情?

已邀请:

xid

赞同来自:

如果你不需要主动记录验证,我建议你只使用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导入它。