0

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

任何建议将不胜感激。

4

1 回答 1

2

你可以做同样的事情,但你必须切换到pggem,因为 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 会出现的那种草率。

于 2012-12-17T07:12:00.503 回答