2015-05-06 51 views
2

我想知道symfony2控制檯命令cache:clearcache:warmup如何在關於原則實體的變化中起作用。在教條遷移之後,我應該清除/加熱緩存嗎?

我讀過這個http://blog.whiteoctober.co.uk/2014/02/25/symfony2-cache-warmup-explained/和這個https://stackoverflow.com/a/17787070/779320。據說symfony2的熱身產生了教義代理。

事情是,我經常有應用程序部署後使用capifony部署的情況,我必須運行doctrine遷移。之後,我總是運行cache:clearcache:warmup

根據上面的鏈接(如果我理解正確),如果有任何實體添加/刪除,我應該運行cache:warmup。但是,如果只有實體的字段發生了變化。我是否應該運行需要運行的cache:clearcache:warmup命令或只運行一個命令?或者,哪一個是必要的?或者,根本不?

回答

1

遷移只負責持久層。它與EntityProxies無關,它僅使DatabaseModel同步 - 就這些了。

在生產中,在部署過程中,您可能運行了git pullcomposer install,這會清除緩存,因此遷移將在此之後運行。

原因 - 在composer install之後,您的新代碼和模型本身已準備好使用新的字段/實體,但數據庫仍然落後,因此遷移可使其保持同步。

+0

聽起來合乎邏輯。謝謝! – ihsan