我们将doctrine缓存保存在redis中,并使用capistrano进行部署 . 一切都很好,直到我们必须删除实体上的字段 .
当执行编写器中的安装后命令时,我们得到如下错误:
[ReflectionException] ** [out Property Entities \ PlayerRecord :: $ shirtNumber不存在
$shirtNumber
是我们删除的字段 . 为了能够继续,我们只需要清除doctrine缓存,但因为它位于redis数据库中,所以缓存与 生产环境 共享 .
问题是我们如何在每次部署时动态更改redis的连接设置?我想到的唯一想法是:
-
在部署开始时修改parameters.yml
-
使用将在每次部署时更改的环境变量
-
将redis连接设置移动到另一个符号链接到其中一个配置的文件
你有其他想法或哪个更好?
1 回答
所以我似乎因为自己缺乏知识而试图过度复杂化 .
我用Doctrine Cache namespaces解决了这个问题
我正在使用SncRediBundle,解决方案只是使用此配置: