【问题标题】:Extending doctrine:build --db to create a DB View扩展学说:build --db 创建数据库视图
【发布时间】:2011-07-11 00:39:27
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: php symfony1 view doctrine dbal


    【解决方案1】:

    doctrine:build-sql

    我认为你应该看一下 doctrine:build-sql 任务,它根据模型定义构建 sql 指令。

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

    迁移

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

    【讨论】:

    • 没想过用迁移来做,好主意!
    猜你喜欢
    • 2012-06-24
    • 2016-11-09
    • 2012-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-04
    • 2019-01-03
    • 1970-01-01
    相关资源
    最近更新 更多