postgresql db を使用して、sqlite3 db からいくつかのレガシー データを Rails アプリにインポートする必要がありました。そこで、従来の sqlite3 db のすべての列タイプでモデル「businesses」を作成しました。database.yml ファイルなどを変更しました...... モデル business.rb に次の行を追加しました。
class Business < ActiveRecord::Base
establish_connection "citylistings_development"
end
これにより、sqlite3 データベースに接続できるようになり、ブラウザーでコンテンツを表示できる index.html.erb ファイルを作成しました。
コントローラーでは、私のコードは次のとおりです。
class BusinessesController < ApplicationController
def get_all
@businesses = Business.all
end
def create_db_entries
self.get_all
end
def index
respond_to do |format|
format.html #index.html.erb
end
end
end
ここで、モデル「business.rb」を作成したときに、postgresql db にテーブルが作成されていることに気付きました。
ただし、そのデータベースに接続しているため、明らかに私のsqlite3データベースからデータを読み取っています。
私の質問はこれです、
index.html.erb ファイルに出力されたデータを pg db に書き込むにはどうすればよいですか? これは可能ですか?
Model インスタンスは一度に 2 つのデータベースに接続し、1 つのデータベースから読み取り、別のデータベースに書き込むことができますか?
これを解決する 1 つの方法は、「ビジネス」モデルが sqlite3 データベースから読み取りを行っている間に、pg データベースにエントリを書き込む別のモデル「tempbiz」を作成することです。「ビジネス」モデルが両方のタスクを実行できるかどうか知りたいことは何ですか?
ありがとう
編集 以下のコメントによると、これが私のdatabase.ymlです(コメントアウトされたものはすべて除外しました)
#===============================================================================
development:
adapter: postgresql
encoding: unicode
database: XXX_development
pool: 5
username: XXX
password: XXXX
#===============================================================================
citylistings_development:
adapter: sqlite3
database: db/citylistings.sqlite3
pool: 5
timeout: 5000