Doctrine 2 mapping - не может автоматически генерировать файлы yml - PullRequest
0 голосов
/ 29 июля 2011

Я пытаюсь заставить доктрину 2 работать для меня (раньше я работал с d1)

но я не могу заставить доктрину генерировать модели (как в доктрине1)

Я скачал последнюю версию доктрины 2.1 так что мое дерево каталогов выглядит так:


C: \ doctrine \ bin - получил его из файла tar

C: \ doctrine \ Doctrine - получил его из файла tar

C: \ doctrine \ models - созданный мной для отображения информации


Я также отредактировал файл bin doctrine.php и добавил файл cli-config.php, который выглядит так:

C: \ doctrine \ bin \ doctrine.php -> http://pastebin.com/Ki62hbTX

C: \ doctrine \ bin \ cli-config.php -> http://pastebin.com/cPv4fXX1

Теперь, когда я иду в cmd, это результат:

c: \ doctrine \ bin> php doctrine orm: schema-tool: create

Нет классов метаданных для обработки.

Я проверил пути к файлам, разрешения на запись, информацию для входа в БД и все, но я не могу узнать, как читать БД и генерировать класс

любая идея будет отличной, спасибо

1 Ответ

1 голос
/ 10 августа 2011

Здесь может быть несколько проблем, но позвольте мне начать с того, что я только что перешел на doctrine2 с версии 1.2, и использование php-аннотаций в doctrine2 намного проще.Затем вы создаете класс самостоятельно ... кажется, что все имеет смысл немного больше.

Но, если вы хотите использовать YAML, имейте в виду, что с YAML и Doctrine2 иерархия YAML полностьюразные.Таким образом, вы не можете просто загрузить yaml doctrine1 в doctrine2.

Вот руководство по YAML в доктрине 2: http://www.doctrine -project.org / docs / orm / 2.0 / en / reference / yaml-mapping.html

Единственное, что я обнаружил, - это то, что Doctrine2 требовал отдельную папку для моего пространства имен.Так что мои сущности находятся в entities/NAMESPACE/, а не просто entities/.Также обратите внимание, что вам нужен отдельный файл для каждого класса, и соглашения об именах очень строги.

...