我刚刚负责在工作中自动执行报告任务。以前,有人会使用GUI工具在MySQL数据库上运行大型任意SELECT
,然后使用相同的工具将结果导出到CSV。现在我想写一个Ruby脚本来做这件事。
我知道Ruby中的FasterCSV,但就SQL查询而言,我只使用ActiveRecord,你通常不会编写查询,而是使用模型和关联。我最后一次在代码中写出完整的SQL是我编写PHP的时候。
在Ruby中执行此类操作的最简单方法是什么? 应该我使用ActiveRecord吗?
答案 0 :(得分:3)
如果您正在编写复杂的应用程序,使用ActiveRecord绝对没有问题。特别是因为你已经习惯了。
答案 1 :(得分:2)
我强烈推荐Sequel。它有很棒的documentation,active development,一个蓬勃发展且乐于助人的社区,它(恕我直言)比ActiveRecord更简单,更好,尤其对于像你似乎有的简单用例
您可能需要先阅读README,Cheat Sheet和Sequel for SQL Users。
答案 2 :(得分:0)
我经常发现,在报表引擎中,您最终会处理大量数据的复杂查询,而ActiveRecord等ORM则不会削减它。除非您的报告非常简单,否则我认为您将使用原始SQL(使用Sequel等工具)或调用存储过程。