« 2009年2 月 | メイン | 2009年6 月 »

2009年3 月

2009年3 月18日 (水)

CakePHP1.1でレプリケーションを使う

いつの間にか1.2がでているけど、まだ1.1を使っていたりする。

CakePHP1.1でMySQLのレプリケーションを使っていたが、なぜかjoinを使うクエリーが上手くfindできないという現象が出ていて、はまった。

ソースを読んだところ、原因は内部でModelのdbConfigをチェックしていて、異なるdbConfigのものは結合しない処理をしていたため。元のModelしかdbConfigを変更していなかったため、上手く動かなかった。
全てのModelのdbConfigをスレーブを参照するように修正して、動くようになった。