Мне бы хотелось иметь 2 менеджера сущностей, один для базы данных SQLite для сущностей, определенных в комплекте, а другой для основного приложения. Таким образом, я могу загрузить данные, которые никогда не меняются, в одну базу данных, а также загрузить данные, тесты и т. Д. c. в базу данных приложения. Я ожидаю, что следующее выгрузит sql для сущностей пакета, но это не так:
bin/console doctrine:schema:update --dump-sql --em=geonames
[OK] No Metadata Classes to process.
Аналогично, я бы ожидал, что easyadmin позволит мне определять классы для сущностей пакета, но это также происходит сбой.
# easy_admin.yaml
entities:
Administrative:
class: Bordeux\Bundle\GeoNameBundle\Entity\Administrative
Настроенный класс "Bordeux \ Bundle \ GeoNameBundle \ Entity \ Administrative" для пути "easy_admin.entities.Administrative" не является сопоставленной сущностью.
Я ожидаю, что это как-то связано с пространствами имен, или, может быть, параметром is_bundle. Я потратил на это несколько часов, следуя учебным пособиям и документации по нескольким менеджерам сущностей, но не могу найти ничего, что показывало бы, как обращаться с сущностями из стороннего пакета.
# doctrine.yaml
doctrine:
dbal:
default_connection: default
connections:
default:
url: '%env(resolve:DATABASE_URL)%'
geonames:
url: '%env(DATABASE_GEONAMES_URL)%'
orm:
default_entity_manager: default
entity_managers:
default:
connection: default
naming_strategy: doctrine.orm.naming_strategy.underscore_number_aware
auto_mapping: true
mappings:
App:
is_bundle: false
type: annotation
dir: '%kernel.project_dir%/src/Entity'
prefix: 'App\Entity'
alias: App
geonames:
connection: geonames
mappings:
BordeuxGeoNameBundle:
is_bundle: true
type: annotation
dir: 'Entity'
prefix: 'Geonames\Entity'
alias: Geonames