扩展doctrine:build --db来创建DB View

时间:2011-03-08 10:52:14

标签: php symfony1 view doctrine dbal

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

据我了解,View(在DB View中与MVC中的View相对)必须与Doctrine一起创建,以便Doctrine可以维护View与其派生的原始Model之间的关联。 p>

在理想的世界中,我希望将视图作为symfony doctrine:build --db任务的一部分创建。执行此操作的明智方法是使用观察者模式和Symfony的事件调度程序,但是Built In-Events列表似乎不提供构建数据库模式的事件。

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

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

1 个答案:

答案 0 :(得分:1)

<强>教义:建立-SQL

我认为您应该查看 doctrine:build-sql 任务,该任务从模型定义构建sql指令。

如果你看一下 sfDoctrineBuildSqlTask​​ 类,你会发现它很简单。它实际上只称为学说cli。如果你想加入它,你应该检查 Doctrine事件而不是symfony。

迁移

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