Я создаю Dockerized php API, используя доктрину ORM. По не зависящим от меня причинам я не могу использовать весь пакет Symofony. Мой текущий композитор.require выглядит следующим образом:
Код: Выделить всё
"require": {
"bramus/router": "~1.6",
"ramsey/uuid": "^4.7",
"firebase/php-jwt": "^6.10",
"ext-pdo": "*",
"doctrine/orm": "^3.3",
"ramsey/uuid-doctrine": "^2.1",
"doctrine/dbal": "^4.2",
"creof/doctrine2-spatial": "^1.2",
"symfony/validator": "^7.2",
},
Проблема
Я инициализировал Doctrine ORM создала мои классы сущностей и теперь пытаюсь сгенерировать схему (очень не хватает настройки обновления, такой как Hibernate для Java). Когда я пытаюсь сгенерировать схему с помощью CLI (когда я это пробовал, у меня был symfony/cache). Мой докер-контейнер не смог найти пути:
Код: Выделить всё
# orm:schema-tool:create
/bin/sh: 1: orm:schema-tool:create: not found
# $ php bin/doctrine orm:schema-tool:update
/bin/sh: 2: $: not found
# doctrine orm:validate-schema
/bin/sh: 3: doctrine: not found
p>
Во-вторых, ChatGPT вообще не помогает.
Итак, теперь я пытаюсь сгенерировать схему в index.php как единое целое. время, грязное решение. После этого я могу просто экспортировать базу данных и получить готовую рабочую схему.
Класс, который инициализирует Doctrine, с некоторой отладкой
Код: Выделить всё
Подробнее здесь: [url]https://stackoverflow.com/questions/79362823/doctrine-orm-in-a-non-symofny-environment-cant-find-entity-metadata[/url]
Мобильная версия