6
  • 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()运行良好。即使我更新刚刚保存的记录 throw yii 一切正常,我afterSave也被执行。问题只是->save()部分。 更新工作,因为我只有在插入新行时才触发

我正在使用触发器按表拆分新数据。也许我需要修改触发器,以便 postgres 知道我将新数据转发到slave表而不是master什么?

还有一件事。我在表中添加了主键,master所以 Yii 模型(CActiveRecord)不会在没有 pk 的情况下抛出关于表的错误。我知道文档没有建议这一点,但我让它以这种方式工作。只是想大致了解我的情况。

谢谢!

4

1 回答 1

2

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

这在本手册页的第 5.9.5 段中有所介绍。

于 2012-10-28T06:40:04.287 回答