扩展原理:编译--db创建数据库视图

问题描述:

我正在使用Doctrine 1.x编写Symfony 1.4项目,并且使用Doctrie_View(作为本机MySQL视图的接口)的优点。扩展原理:编译--db创建数据库视图

据我所知,视图(如在数据库视图,而不是视图在MVC中)必须创建与教条,以便教条可以维护视图和原来的模型从它派生的关联。

在理想的世界中,我希望将视图创建为symfony doctrine:build --db任务的一部分。这样做的明智方式是使用观察者模式和Symfony的事件分派器,但是,Built In-Events列表似乎没有提供数据库模式构建时的事件。

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

或者,也许,如果这不是一个选项,检查一个视图不存在,然后创建它作为ProjectConfiguration::configureDoctrine()的一部分?

学说:内置SQL

我想你应该宁可看学说:内置SQL任务,从构建模型定义的SQL指令。

如果你看sfDoctrineBuildSqlTask​​类,你会发现它很简单。它实际上只是调用了教条cli。如果你想进入它,你应该检查主义事件而不是symfony。

迁移

,你也可以做的是建立在什么主义迁移你的看法。无论何时您需要更改视图,您都会创建另一个迁移(删除旧的并创建新视图)。

+0

没有想过用migrations做这件事,好主意! – BenLanc