2

我正在使用 Doctrine 1.x 开发一个 Symfony 1.4 项目,以及值得使用 Doctrie_View(作为本机 MySQL 视图的接口)的功能。

据我了解,必须使用 Doctrine 创建视图(在 DB 视图中,而不是在 MVC 中的视图),以便 Doctrine 可以维护视图与派生它的原始模型之间的关联。

在理想的世界中,我希望将视图创建为symfony doctrine:build --db任务的一部分。明智的做法是使用观察者模式和 Symfony 的事件调度程序,但是,内置事件列表似乎没有提供数据库模式何时构建的事件。

那么,在构建模式时创建 Doctrine View 的最佳方式是什么?

或者,如果这不是一个选项,请检查 View 是否不存在,然后将其创建为ProjectConfiguration::configureDoctrine()?

4

1 回答 1

1

学说:构建-sql

我认为您应该看一下从模型定义中构建 sql 指令的教义:build-sql任务。

如果您查看sfDoctrineBuildSqlTask​​ 类,您会发现它相当简单。它实际上只调用了学说 cli。如果你想加入它,你应该检查Doctrine 事件而不是 symfony。

迁移

您还可以做的是在学说迁移中创建您的视图。每当您需要更改视图时,您将创建另一个迁移(删除旧视图并创建新视图)。

于 2011-03-09T10:31:46.770 回答