ruby外化SQL模块

时间:2010-02-18 20:07:02

标签: sql ruby external

对于Ruby程序,对于将SQL查询保留在应用程序外部的模块的任何建议?我希望避免硬编码SQL查询,并可能在一组程序中支持多个SQL后端,这些程序可以进行直接SQL查询(也就是说,不通过ORM调解)。

Hyopthetically:

# Production system is pg, dev environment is sqlite
sql_book = What::Module::Here.load( a_file,
                                    ENV['DEVEL'] ? 'PostgreSQL' : 'SQLite3' )

# Okay, now get all Widget IDs
r = db_handle.execute( :load_all_widget_ids )

在perl中,我可能会使用Data::Phrasebook::SQL或更像CAM::SQLManager的异国情调。

1 个答案:

答案 0 :(得分:4)

Sequel比ActiveRecord和DataMapper等其他ORM更轻巧灵活:

http://sequel.rubyforge.org/

或者您可以使用Ruby DBI:

https://github.com/RDBI/rdbi(已编辑)

也许你会想要写一些图层来读取外部文件的查询,就像你问的那样。