Задать вопрос
Akuma
@Akuma
Веб-программист

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

Добрый день,

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

* Пусть даже мне самому прийдется гдето описать соответствия типов полей БД к типов полей Doctrine
  • Вопрос задан
  • 3852 просмотра
Подписаться 2 Оценить Комментировать
Решение пользователя urvalla К ответам на вопрос (2)
@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);
Ответ написан