Akuma
@Akuma
Веб-программист

Как автоматически создавать таблицы в Doctrine?

Добрый день,

можно ли как то заставить Doctrine (последняя стабильная) автоматически создавать таблицы (а так же поля в существующих таблицах) для сущностей?

* Пусть даже мне самому прийдется гдето описать соответствия типов полей БД к типов полей Doctrine
  • Вопрос задан
  • 3852 просмотра
Решения вопроса 1
@urvalla
Такой код можно использовать где угодно, не обязательно в Symfony, например в Silex / Slim. В продакшн он не должен, конечно, исполняться. Важный момент: в базе оставит только те таблицы, которые перечислены в $classes, остальные грохнет.

// \Doctrine\ORM\EntityManager $em
$tool = new \Doctrine\ORM\Tools\SchemaTool($em);
$classes = array(
    $em->getClassMetadata('Entities\Page'),
    $em->getClassMetadata('Entities\Catalog'),
    $em->getClassMetadata('Entities\CatalogOption'),
    $em->getClassMetadata('Entities\WebForm'),
);
$tool->updateSchema($classes);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Vampiro
можно, конечно. Не автоматически, а по запросу.

дока на родном
docs.doctrine-project.org/projects/doctrine-orm/en/2.0.x/reference/tools.html

дока на русском, реализация в симфони2
symfony-gu.ru/documentation/ru/html/book/doctrine.html

примеры
habrahabr.ru/post/125469/
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы