我正在使用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()
的一部分创建?
答案 0 :(得分:1)
<强>教义:建立-SQL 强>
我认为您应该查看 doctrine:build-sql 任务,该任务从模型定义构建sql指令。
如果你看一下 sfDoctrineBuildSqlTask 类,你会发现它很简单。它实际上只称为学说cli。如果你想加入它,你应该检查 Doctrine事件而不是symfony。
迁移
您还可以做的是在学说迁移中创建视图。每当您需要更改视图时,您将创建另一个迁移(删除旧视图并创建新视图)。