在Ruby中运行任意SQL查询

时间:2011-03-03 01:56:24

标签: mysql sql ruby

我刚刚负责在工作中自动执行报告任务。以前,有人会使用GUI工具在MySQL数据库上运行大型任意SELECT,然后使用相同的工具将结果导出到CSV。现在我想写一个Ruby脚本来做这件事。

我知道Ruby中的FasterCSV,但就SQL查询而言,我只使用ActiveRecord,你通常不会编写查询,而是使用模型和关联。我最后一次在代码中写出完整的SQL是我编写PHP的时候。

在Ruby中执行此类操作的最简单方法是什么? 应该我使用ActiveRecord吗?

3 个答案:

答案 0 :(得分:3)

如果您正在编写复杂的应用程序,使用ActiveRecord绝对没有问题。特别是因为你已经习惯了。

如果您正在撰写快速脚本并且不想使用ActiveRecord,那么您还应该查看mysqlmysql2宝石。

答案 1 :(得分:2)

我强烈推荐Sequel。它有很棒的documentationactive development,一个蓬勃发展且乐于助人的社区,它(恕我直言)比ActiveRecord更简单,更好,尤其对于像你似乎有的简单用例

您可能需要先阅读READMECheat SheetSequel for SQL Users

答案 2 :(得分:0)

我经常发现,在报表引擎中,您最终会处理大量数据的复杂查询,而ActiveRecord等ORM则不会削减它。除非您的报告非常简单,否则我认为您将使用原始SQL(使用Sequel等工具)或调用存储过程。