«Нет классов метаданных для обработки» при попытке создать схему в sf2

#symfony

#symfony

Вопрос:

после выполнения php app / console doctrine:schema:create я получаю сообщение «Нет классов метаданных для обработки»..

Мои шаги заключаются в следующем:

Загрузите sf2, создайте пакет Jander / ClarBlundle и создайте Jander/ClarBundle/Resources/config/doctrine/Jander.ClarBundle.Entity.User.orm.dcm.yml с этим содержимым:

 JanderClarBundleEntityUser:
type: entity
table: user
id:
    id:
        type: integer
        generator:
            strategy: AUTO
fields:
    name:
        type: string
        length: 255
  

У меня нет никаких проблем с doctrine: database:create.

Есть идея?

sf2 beta1.

Javier

Ответ №1:

Проблема заключается в пути к вашему файлу YAML. В Symfony2 beta2 (скоро выйдет) будет внесено несколько изменений для упрощения использования соглашения, но в beta1 ваш файл entity YAML должен находиться в path:

Jander/ClarBundle/Resources/config/doctrine/metadata/orm/Jander.ClarBundle.Entity.User.dcm.yml

Обратите внимание на metadata/orm/ в пути к файлу и на .dcm.yml расширение вместо .orm.yml .

То есть ваша текущая настройка должна работать после развертывания beta2, но пока вам все равно придется использовать longhand.

Ссылка из блога Symfony2 здесь.

Ответ №2:

Попробуйте очистить кэш:

 php app/console cache:clear
  

Комментарии:

1. очистка кэша сработала для меня, потому что объект, который я сгенерировал, был недопустимым (имел пробелы в именах полей) (упс)

Ответ №3:

Эта проблема возникает, когда у вас что-то не так в ваших файлах YML / XML / Entity. Возможные пути или имена неправильны.