ECWorks Blog

ECWorks Blog

CakePHPを中心としたサイト開発情報をメインに公開。新しもの好きなので時々製品レポートなんかも。

CakePHP1.2+PostgreSQL8.3

 予告通り、PostgreSQL8.3を現状インストールされている8.2.5と入れ替え、CakePHP1.2で動かしてみました。とりあえず問題なく動いています。

 実は、動くまでに悪戦苦闘していまして…
 1.2でDBを動かすのは初めてだったのですが、1.1で問題なかったModelやControllerを持ってきても変なエラーが出ていたんです書いてあるはずのModelやControllerがないとか、pg_queryでエラーが出ているとか、云々。

 まず、ControllerやModelがない件は、redirectの仕様が若干違うらしく、1.1はパスの指定が最初から絶対値になっているため、例えば「www.foo.com/hoge」内で「'hoge/fuga'」にリダイレクトさせると「www.foo.com/hoge/fuga」となりますが、1.2は相対指定らしく、「www.foo.com/hoge/hoge/fuga」に飛んでしまうのです。なので、「'/hoge/fuga'」としたらちゃんと動くようになりました

 pg_queryの方は、結局はdatabase.php内のDATABASE_CONFIGクラス内で新しく加わったschemaプロパティの値を省略していたためにエラーが起きたようで、とりあえずpublicを入れたらすんなりと動きました(^^;。

 あと、Smartyテンプレート出力の後ろに、毎回クエリ結果が出てしまい、scaffold設定していないのに何でDB関連の表示があるのかとびっくりしたのですが、どうやら1.2からデバッグswが最初から入っているらしく、core.php内を修正したらちゃんと出なくなりました

 この辺は1.1→1.2に移行時の注意点でしょうか?
 Posgre8.3由来の不具合は、今のところ特に感じないです。まあ、まだ使い倒していないため、不具合を見つけられていないと思いますし、がりがり動かすようなアプリに入れたわけでもないため、まだパフォーマンスについては体感できていないです。




Comments are closed.