2015-05-06 2 views
2

Я хотел бы знать, как команды консоли 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, которые необходимо запустить или только один? Или, какой из них необходим? Или, совсем нет?

ответ

1

Миграции несут ответственность только за уровень устойчивости. Он не имеет ничего общего с EntityProxies, он только делает Database в синхронизации с Model - вот и все.

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

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

+0

Звучит логично. Благодаря! – ihsan

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