对于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 )
Run Code Online (Sandbox Code Playgroud)
在perl我可能会使用Data::Phrasebook::SQL或更具异国情调的东西CAM::SQLManager.
Sequel 比 ActiveRecord 和 DataMapper 等其他 ORM 更轻、更灵活:
或者您可以使用 Ruby DBI:
https://github.com/RDBI/rdbi (已编辑)
也许您需要编写一些层来根据您的要求从外部文件读取查询。