2010-11-07 4 views
1

Я написал мою YAML схему для базы данных для моего приложения Symfony + доктриной, и я пытаюсь это сделать модели и такие, но ошибки на doctrine:build-modelSymfony доктрина: ошибки построения-модели

$> ./symfony доктрина: строить-модель
>> генерирующие доктриной классы моделей

>> файл + /tmp/doctrine_schema_89653.yml

No yml schema found in /tmp/doctrine_schema_89653.yml 

Я поместил свою схему в config/doctrine/schema.yml, где она должна быть в соответствии со всеми учебниками, которые я прошел. После некоторого googling я думаю, что в моем ямле может быть синтаксическая ошибка, но я не уверен. Вот это как раз в случае:

Coder: 
    actAs: [Timestampable] 
    tableName: dormcode_coder 
    columns: 
     id: 
      type: integer 
      primary: true 
      autoincrement: true 
     username: string(60) 
     password: string(60) 
     email: string(255) 
     firstname: string(60) 
     lastname: string(60) 

Client: 
    actAs: [Timestampable] 
    tableName: dormcode_client 
    columns: 
     id: 
      type: integer 
      primary: true 
      autoincrement: true 
     username: string(60) 
     password: string(60) 
     email: string(255) 
     firstname: string(60) 
     lastname: string(60) 

Project: 
    actAs: [Timestampable] 
    tableName: dormcode_project 
    columns: 
     id: 
      type: integer 
      primary: true 
      autoincrement: true 
     client_id: integer 
     title: string(255) 
     briefdesc: clob 
     spec: clob 
     coder_id: 
      type: integer 
      notnull: false 
      default: null 
     paytype: string(30) 
     negotiable: 
      type: bool 
      default: false 
     complete: 
      type: bool 
      default: false 
    relations: 
     Coder: 
      foreignType: one 
     Client: 
      foreignType: one 

Iteration: 
    actAs: [Timestampable] 
    tableName: dormcode_iteration 
    columns: 
     id: 
      type: integer 
      primary: true 
      autoincrement: true 
     ordernum: integer 
     description: clob 
     project_id: integer 
    relations: 
     Project: 
      foreignAlias: Iterations 

Я не уверен, что еще было бы, кто-нибудь знает, что другие виды вещей может вызвать эту ошибку? Это действительно не имеет смысла ...

EDIT: Я просто просмотрел/tmp для файла, и он есть. он продолжает { }, и это все.

ответ

2

Да, с той же ошибкой в ​​последнее время, неприятности. Что он делает то, что он пытается загрузить старый временный файл, а не тот, который вы хотите его использовать:

«Нет схему YML найдено в /tmp/doctrine_schema_89653.yml»

Найти этот временный файл (я запускаю XAMPP в Windows, так что мой был в папках XAMPP), удалите все старые файлы схемы и снова создайте. Возможно, вам понадобится сделать это несколько раз, поскольку временный файл создается каждый раз.

+0

Я пробовал это несколько раз, но безуспешно. Его почти не признают, что у меня есть схема, потому что у файла есть '{}'. –

+0

Ах, нет, я получил это на этот раз. –

+0

Хорошо, я только получил его с последней версией symfony 1.4/doctrine. Ранние версии не имели этой проблемы со мной. – Tom

0

Я вижу, что ваш schema.yml установил 4 пробела в качестве отступа. У меня всегда есть 2 пробела. Вы могли бы попробовать это.

Я также удалил все сгенерированные классы из папки lib (например./Lib/models/doctrine/* и формы (а не BaseForm.class.php) и фильтры, потому что symfony сначала генерирует модели, а оттуда sql а затем вставляет sql в db.

Смежные вопросы