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

同じようなことを行うことができますが、Mysql2 は MySQL と通信する方法しか知らないため、 pggemに切り替える必要があります。インターフェースは似ています:

db  = PG::Connection.new(...)
sth = db.query('select /* big complicated pile of SQL */')
sth.each { |row| do_things_with_row(row) }

通常、ほとんどの場合 (生の SQL クエリであっても) ActiveRecord を使用できますが、それをすべてバイパスしてデータベースと直接やり取りする必要がある場合は、可能です。PostgreSQL が、MySQL のようなずさんさを表していないという問題が発生する可能性があります。

于 2012-12-17T07:12:00.503 に答える