我目前正在使用MySQL数据库,并且考虑将来转移到Postgres。在我的代码中,我有:
client = Mysql2::Client.new(:host => "#{DB_HOST}", :username => "#{DB_USERNAME}",
:password => "#{DB_PASSWORD}", :database => "#{DB_NAME}")
sql = "SELECT /*complicated query with joins */ ASC"
data_setter = client.query(sql)
我担心如果我转移到Postgres,我将无法再使用Mysql2 gem并执行类似于上述代码的查询。
非常感谢任何建议。
答案 0 :(得分:2)
你可以做同样的事情,但你必须切换到pg
gem,因为Mysql2只知道如何与MySQL交谈。界面类似:
db = PG::Connection.new(...)
sth = db.query('select /* big complicated pile of SQL */')
sth.each { |row| do_things_with_row(row) }
通常,您可以通过ActiveRecord查看大多数事情(甚至是原始SQL查询)但是如果您需要绕过所有这些并直接与数据库对话,那么您可以。你可能会遇到一些问题,PostgreSQL不能代表MySQL会遇到的那种邋。。