Должен ли я очищать/разогревать кеш после переноса доктрины?

Я хотел бы знать, как консольные команды symfony2 cache:clear и cache:warmup работают в отношении изменений в сущностях доктрины.

Я прочитал этот http://blog.whiteoctober.co.uk/2014/02/25/symfony2-cache-warmup-explained/ и этот https://stackoverflow.com/a/17787070/779320. Там указано, что прогрев symfony2 генерирует прокси Doctrine.

Дело в том, что после развертывания приложения с помощью capifony у меня часто возникает ситуация, когда я должен выполнить миграцию доктрины. После этого я всегда запускаю cache:clear и cache:warmup.

По ссылкам выше (если я правильно понял), если есть какие-либо добавления/удаления сущности, я должен запустить cache:warmup. Но что, если меняются только поля сущности. Должен ли я запускать обе команды cache:clear и cache:warmup, необходимые для запуска, или только одну? Или какой нужен? Или вообще нет?


person ihsan    schedule 06.05.2015    source источник


Ответы (1)


Миграции отвечают только за уровень сохраняемости. Никакого отношения к EntityProxies не имеет, только делает Database синхронно с Model — и все.

В рабочей среде во время развертывания вы, вероятно, запускаете git pull и composer install, которые очищают кеш, поэтому миграция должна запускаться сразу после этого.

Причина - после composer install ваш новый код и сама модель готовы использовать новые поля/сущности, но база данных все еще отстает, поэтому миграция поддерживает ее синхронизацию.

person Valentas    schedule 06.05.2015
comment
Звучит логично. Спасибо! - person ihsan; 07.05.2015