我在文件 my_query.sql 中有以下查询脚本
select * from my_table;
delete from my_other_table where id > 5;
select * from my_other_table;
我正在尝试通过 Ruby 中的“mysql”gem 执行此操作,但遇到了 2 个关键问题
- 查询有多个语句,ruby gem 要求我使用 .query(...) 方法一次查询一个。
- 查询有多个select语句,gem返回一个hash,所以我不确定它是否会返回多个结果集。
理想情况下,在 unix/bash 中,我可以这样做
mysql my_schema < my_query.sql > my_out_file.txt
这只会一次运行整个脚本(解决问题 #1),并且只会以纯文本形式打印所有 select 语句的结果(解决问题 #2)。
Ruby 是否有类似的选项来运行查询文件并将整个输出转储到文件中?
注意:我知道我可以退出或使用 system(...) 来执行此操作,但这不是一个可接受的选项。有什么办法可以通过mysql gem(或类似的gem)完成这项工作?
谢谢!