[#44431] コンストラクタの引数について&インスタンス変数の持ち方について — Akira Hayakawa <ruby@...>

度々オブジェクト指向についての質問ですいません。

17 messages 2008/01/04
[#44433] Re: コンストラクタの引数について&インスタンス変数の持ち方について — Yukihiro Matsumoto <matz@...> 2008/01/04

まつもと ゆきひろです

[#44469] pdf 作成 ライブラリ — "Luiz Aoki" <luizruby@...>

はじめまして、青木ルイスと申します、

14 messages 2008/01/12
[#44479] ファイル出力時のprintについて — m-hatake@... 2008/01/16

畠山と申します。

[#44483] format %g の丸めについて — 山崎雄介 <y-yamasaki@...>

山崎(ゆ)です。

14 messages 2008/01/16

[ruby-list:44548] Re: 通常使うDB以外のDBを使うには

From: 今林 健太郎 <k-imahayashi@...>
Date: 2008-01-29 06:28:01 UTC
List: ruby-list #44548
いつもお世話になっております。

今林ともうします。

 To:伊達様

教えていただき、ありがとうございます。
これで大丈夫だ!!と思ったのですが、
通常使うDB MySQL
共通DB	 PostgreSQL
だと、教えていただいた設定では、
script/generete model Hoge
の際にエラーになるようです。また、mongrelの起動時に
エラーになるようです。

やはり、通常使うDBと共通DBは最低でも同じ種類のもの
でないとダメということなのでしょうか?

もし、ご存じでしたら教えてください。


Ken Date さんは書きました:
> こんにちは。伊達ともうします。
> 
>> Ruby on RailsでWEBアプリを作っているのですが、
>> 自分が作るWEBアプリ内なら、自分のところのDBが
>> 使えるのですが、一箇所だけ共通にDBにアクセスする
>> 必要があり困ってます。
> 
> ActiveRecord は複数のデータベースに接続することができますので、
> 接続の制御を細かくやる必要がなければ簡単です。
> 
> まず、config/database.yml に共通データベースの設定を追加します。
> 
> common:
>   adapter: postgresql
>   database: commondb
>   username: username
>   password: password
> 
> 次にこのデータベース用のモデルクラスを用意します。
> 例えば hoges テーブルだとすると、app/models/hoge.rb に
> 
> class Hoge < ActiveRecord::Base
>   establish_connection(:common)
> end
> 
> です。
> 
> これでおそらく使えるようになりますので、script/console で Hoge.find してみてください。
> 
> 複数テーブルがある場合には、親クラスを用意してそれを継承させます。
> 普通に継承してしまうと STI になってしまうので、abstract_class = true としてください。
> 
> -- app/models/common_model.rb
> class CommonModel < ActiveRecord::Base
>   abstract_class = true
>   establish_connection(:common)
> end
> 
> -- app/models/foo.rb
> class Foo < CommonModel
> end
> 
> -- app/models/bar.rb
> class Bar < CommonModel
> end
> 
> 


-- 
今林 健太郎


In This Thread