- PostgreSQL 9.1
- 分割されたテーブル
- tbl_master
- tbl_slave1 (マスターを継承)
- tbl_slave2 (マスターを継承)
- Yii フレームワーク 1.1.10
誰かが Yii + PostgreSQL パーティション テーブルについての経験を共有できるかもしれません。パーティション化されたテーブル、チェック、およびトリガーを備えた PostgreSQL の部分はうまく機能しますが、Yii にこれらのテーブルを気に入ってもらうことはできません..
問題は、パーティション化されたテーブルへの挿入時にPostgreSQLが提供0 rows affectedすることであり、これを回避する方法がわかりません。Yii モデルは、新しいレコードが保存されていないと見なし (保存されています)、$Model->save();false を返すためafterSave()、機能していません。
他のすべての方法はうまく機能し->find()ています。->findAll()今保存したレコードを更新しても、すべて問題なく実行さafterSaveれます。問題は->save()一部だけです。
新しい行を挿入するときにのみトリガーがあるため、更新が機能します。
トリガーを使用して、新しいデータをテーブルごとに分割しています。slaveおそらく、トリガーを変更して、新しいデータをテーブルに転送していないことを postgres が認識できるようにする必要がありmasterますか?
もう一つ。テーブルに主キーを追加したmasterので、Yii モデル (CActiveRecord) は pk のないテーブルについてエラーをスローしません。ドキュメントがこれを示唆していないことは知っていますが、このように機能しました。自分の状況の全体像を伝えようとしているだけです。
ありがとう!