Миграция доктрины в symfony не обновляет модель и формы

Я тестировал миграции Doctrine в symfony и, наконец, заставил их работать, но заметил, что эти миграции обновляют только базу данных. Формы и модель не обновляются, как я ожидал...

Это нормально? Если это нормально, есть ли способ обновить модель с изменениями, внесенными в БД?


person miguelSantirso    schedule 25.07.2009    source источник


Ответы (2)


Это нормально.

Чтобы обновить модель/формы/фильтры и т. д., вы можете запустить

./symfony doctrine:build-all

задача.

Во время разработки вы, вероятно, загружаете фикстуры в свою базу данных, поэтому загрузите их с помощью doctrine:data-load (или используйте задачу build-all-reload).

Но как только ваше приложение будет запущено, вы, очевидно, не захотите удалять все данные каждый раз, когда меняете схему базы данных. Тут на помощь приходят миграции.

Мой процесс:

  • Обновить schema.yml
  • запустите доктрину: построить все в среде разработки.
  • создать миграцию
  • выполнять любую разработку/тестирование в среде разработки.
  • развернуть код в продакшн
  • применить миграцию к рабочей базе данных.
person benlumley    schedule 25.07.2009
comment
Хорошо понял. Большое тебе спасибо! - person miguelSantirso; 27.07.2009

Из php symfony 1.4 php symfony доктрина: меню справки по сборке

  You must include one or more of the following build options:    

--all, --all-classes, --model, --forms, --filters, --sql, --db

Дополнительные сведения см. на странице справки по этой задаче:

php symfony help doctrine:build  

Вы можете быть более точным и создавать только --model --forms --filters и т.д.

Если вы построите все, вы потеряете ВСЕ данные в базе данных, потому что она перестраивает базу данных.

person smugford    schedule 20.04.2013