[前][次][番号順一覧][スレッド一覧]

rails:656

From: Hiroshi Takagi <gollum@h...>
Date: Fri, 11 Nov 2005 16:12:01 +0900
Subject: [rails:656] Re: 複数プログラマでの開発/DB, application のshare

高木です。

おひさしぶりです、南木さん :-)


On Fri, 11 Nov 2005 05:02:02 +0900
Nanki Haruo <nanki@m...> wrote:

> config/environment.rb などに、
> 
> User.establish_connection(
>    :adapter  => "mysql",
>    :host     => "...",
>    :username => "...",
>    :password => "...",
>    :database => "..."
>  )
> 
> と記述すれば、ユーザ部分だけ別のDB を使うことができます。

これは、うまくいきませんでした。

config/database.yml に指定しているデータベース定義が効いているようです。
現在、テーブル Users, Roles の二つを新しい共有DB ( dbshared ) にコピーし
てみたのですが、database.yml に指定されているDBにある Users, Roles が参
照されています。

では、べたに app/models/user.rb, role.rb にべたにハードコードしてやると、
DB/table は dbshared の User, Roles にちゃんと接続するのですが、
今度は、action がよびだされるたびにDBとの接続コネクションが二つずつ増え
ていき、idle 状態のまま解放されません。
(PostgreSQL)

う〜ん、どうしたものかな。

ML のアーカイブのRails #395 からの浦さんのスレッドも今頃拝見しましたが、
どうも、定石が見えませんねぇ〜。
( 1 application = 1 DB にしろ、ということかな。)


> session の共有は、それぞれのプロジェクトでmodel の定義などを共通にしていないと、インスタンスを復元で
> きないという問題があるので、僕は必要なID(user_idとか)だけを受け渡すようにしていました。

はい、わたしももともと session では、primary key のID や、
flash[:notice] しかわたしてませんから、それはだいじょうぶです。
たまに、呼び出し元なんぞを flash にstore しておいて次のアクションで使っ
てますが :-)

Session クラスをおっかけてみたのですが、ActiveRecord Store すると、
database.yml 側のDB を見てしまうので(変えないほうがよさそう)
プロジェクト間で共有するセッション情報は DrbStore で行こうか、
と考えています。


> 各プロジェクトで session情報を分ける場合は、プロジェクトごとに違うURLを割り当て、
> 
> app/controllers/application.rb 内で
> 
> before_filter{ cookies[:domain] = "project-a.domain.co.jp" }
> もしくは
> before_filter{ cookies[:path] = "/project-a/" } # こっちは試したことがない
> 
> などとしていましたが、もっとかっこいい方法があるかもしれません。

お、これもなかなかかっこよさそうですね、時間があれば試してみます。


ありがとうございました。

-- 
Hiroshi Takagi <gollum@h...>



--
ML: rails@r...
使い方: http://QuickML.com/
Web Site: http://wiki.fdiary.net/rails/
ML Archives: http://www.fdiary.net/ml/rails/

[前][次][番号順一覧][スレッド一覧]

       651 2005-11-10 12:44 [gollum@h...         ] 複数プログラマでの開発/DB, application のshare
       654 2005-11-10 21:02 ┗[nanki@m...          ]                                       
->     656 2005-11-11 08:12  ┗[gollum@h...         ]                                     
       657 2005-11-11 09:42   ┗[gollum@h...         ]