Расширение доктрины: build --db для создания представления БД


Я работаю над проектом Symfony 1.4 с доктриной 1.x и функциональностью, которая заслуживает использования Doctrie_View (в качестве интерфейса для собственных представлений MySQL).

Насколько я понимаю, Представление (как в представлении БД, в отличие от Представления в MVC) должно быть создано с помощью Доктрины, чтобы Доктрина могла поддерживать связь между Представлением и исходной моделью, из которой оно получено.

В идеальном мире я бы хотел, чтобы представление было создано как часть задачи symfony doctrine:build --db. Разумный способ для этого можно было бы использовать шаблон наблюдателя и диспетчер событий Symfony, однако список встроенных событий, похоже, не содержит события для построения схемы базы данных.

Итак, каков наилучший способ создания представления доктрины при построении схемы?

Или, возможно, если это не вариант, проверьте, не существует ли представления, а затем создайте его как часть ProjectConfiguration::configureDoctrine()?

Author: Shoe, 2011-03-08

1 answers

Доктрина: сборка-sql

Я думаю, вам лучше взглянуть на доктрину: задача build-sql, которая строит инструкции sql из определения модели.

Если вы посмотрите на класс sfdoctrinebuildsqltask, вы заметите, что он довольно прост. На самом деле это только называет доктрину cli. Если вы хотите подключиться к нему, вам следует проверить события доктрины, а не symfony.

Миграции

Что вы также могли бы сделать, так это создание вашего представления в миграции доктрин. Всякий раз, когда вам нужно изменить свое представление, вы создадите другую миграцию (удаление старого и создание нового представления).

 1
Author: Jakub Zalas, 2011-03-09 10:31:46