我们将doctrine缓存保存在redis中,并使用capistrano进行部署。在我们必须删除实体上的字段之前,一切都很好。
当执行编辑器中的安装后命令时,我们会收到如下错误:
[ReflectionException] ** [out Property Entities \ PlayerRecord :: $ shirtNumber不存在
$shirtNumber
是我们删除的字段。
为了能够继续,我们只需要清除doctrine缓存,但因为它位于redis数据库中,所以缓存与生产共享。
问题是如何在每次部署时动态更改redis的连接设置?我想到的唯一想法是:
你有其他想法或者你认为哪一个更好?
答案 0 :(得分:6)
因为我自己缺乏知识,所以我似乎试图过度复杂化。
解决了这个问题我正在使用SncRediBundle,解决方案只是使用此配置:
doctrine:
metadata_cache:
client: cache
namespace: "%kernel.root_dir%"
entity_manager: default