可以将mysql2 gem与Rails中的Postgres数据库一起使用

时间:2012-12-17 06:58:22

标签: mysql ruby-on-rails postgresql

我目前正在使用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并执行类似于上述代码的查询。

非常感谢任何建议。

1 个答案:

答案 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会遇到的那种邋。。