Yii框架和PostgreSQL分区表 - 受影响的0行

bri*_*iiC 6 postgresql triggers partitioning yii

  • PostgreSQL 9.1
  • 分区表
    • tbl_master
    • tbl_slave1(iherits master)
    • tbl_slave2(iherits master)
  • Yii框架1.1.10

也许有人可以追溯他对Yii + PostgreSQL分区表的影响.PostgreSQL部分与分区表,检查和触发器工作得很好,但我不能让Yii 喜欢这些表..

问题是插入到分区表PostgreSQL给出0 rows affected,我无法弄清楚如何解决这个问题.Yii模型认为新记录没有保存(但它是)并$Model->save();返回false,因此afterSave()不起作用等等.

所有其他方法为->find()->findAll()正在运作良好.即使我刚刚更新保存的记录扔yii一切都好,我也被执行afterSave了.问题只与->save()部分有关. 更新工作,因为我只在插入新行时触发.

我正在使用触发器按表拆分新数据.也许我需要修改触发器,所以postgres知道我要将新数据转发到slave表格中master吗?

还有一件事.我将主键添加到master表中,因此Yii Model(CActiveRecord)不会在没有pk的情况下抛出有关表的错误.我知道文档没有暗示这一点,但我得到了这样的工作方式.试图全面了解我的情况.

谢谢!

Eel*_*lke 2

您可以尝试使用规则作为替代方案。当它重写查询时,我希望它返回正确的受影响行数。虽然触发器在大多数情况下更好,但我认为规则比在主表中插入数据并必须再次删除它更好。

本手册页第 5.9.5 段对此进行了介绍。