Symfony 4, способ создания сущностей из существующей базы данных?
С Symfony 3 и его консолью мы можем генерировать сущности из уже существующей базы данных с помощью команды "php bin/console doctrine:mapping:import" (очень полезно!).
Начиная с symfony 4, команде "./bin/console doctrine:mapping:import" нужно имя пакета, но сейчас symfony 4 не работает с пакетом.
С новой версией Symfony, есть ли способ, который я не видел для создания сущностей из существующей базы данных (mysql в качестве примера)? Или я должен ждать новой версии доктрины, чтобы иметь "doctrine:mapping:import", совместимую с Symfony 4?
Я нашел (n) (некрасивое) решение еще. Я развертываю одноразовое Symfony 3, связываю Symfony 3 с моей базой данных и генерирую сущности в связке. Затем я копирую генерирует файлы в Symfony 4. Это ужасно, но работает, ха-ха
1 ответ
Ты можешь использовать
php bin/console doctrine:mapping:convert --from-database annotation ./src/Entity
который должен создавать объекты на основе настроек базы данных. Не забудьте добавить пространства имен, и вам все равно нужно будет добавить методы получения и установки, но основная часть свойств, включая аннотации и некоторые отношения, уже включена. ( Источник)
Также обратите внимание, что Doctrine больше не будет поддерживать это в следующей версии Doctrine. Как написано в документации Symfony
Более того, эта функция для создания сущностей из существующих баз данных будет полностью удалена в следующей версии Doctrine.