• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:symfony+Doctrineで複数DB(同名テーブルあり))

symfony+Doctrineで複数DBを切り替える方法は?

このQ&Aのポイント
  • symfony 1.2系で複数のDB接続を切り替える方法を教えてください。
  • ネット上で調査してもdatabases.ymlに複数のDB定義を書き、schema.ymlの作成を切り替える方法しか見つかりませんでした。
  • もし他にも複数DBを扱うための手段やsymfonyでの実現方法があれば教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

http://www.doctrine-project.org/documentation/cookbook/1_1/en/master-and-slave-connections ドキュメントありました。 ただ、Doctrineのドキュメントなので、コレをsymfonyに絡めた内容というのは分かりませんでした。 一応、Doctrine自体では行うことが出来るようです。(単純に全部に接続して継承クラスで振り分けるというだけのようですが・・・)

maenoina
質問者

お礼

ありがとうございます。 symfonyは絡んでいないようですが、参考になりそうです。

その他の回答 (1)

回答No.1

symfonyもdoctrineも使ったことがないのですが、 >DB定義をdatabases.ymlに複数書き、schema.ymlの作成を切り替える これが出来るのであれば、 Hogeというモデルと、HogeMaster、HogeSlave といったものを作成し、Hogeモデルに後述の二つを読み込んで、でそれぞれハンドリングをすればよいのではないでしょうか。 モデル名がテーブル名と完全に一致していないといけないのであれば無理そうですが。

maenoina
質問者

補足

確認が遅くなりすみません。 ご回答ありがとうございました。 たしかにdoctrineの実装に上記のようにカスタマイズを加えれば可能そうです。 ただ、他人数での開発であることもあり、混乱を防ぐためにできるだけdoctrineなどORマッパーの標準で提供されている機能があればそれで対応したいと思っています。

関連するQ&A