我正在运行sonata admin,并且我有一个现有的工作实体/ admin。我在原则orm,实体,管理员中又添加了2列,并运行了app / console doctrine:schema:update命令,以将字段成功获取到数据库中。
在本地开发环境中,效果很好。
在生产中,不会保存新字段。
如果在preUpdate或postUpdate中手动调用$ this-> isMyNewField()在Sonata admin中保存实体时,根据是否选中此框,我会得到正确的结果为true或false。
但是,该学说似乎根本没有正确地注册该字段,我已经记录了它在update上运行并持续存在的sql,它甚至根本不尝试对该字段执行任何操作。
如果我将AppKernel更改为在“ dev”而不是“ prod”(在生产环境上)上运行,则所有工作均按预期进行,并且学说将其毫无问题地获取。
我曾尝试清除准则元数据,清除缓存,重新启动服务器,更改字段类型,移除准则并重新添加(通过实体orm xml文件)
仍然没有运气。还有其他可以尝试的想法吗?
谢谢
凯文
答案 0 :(得分:0)
大家好,原来是命令
app/console doctrine:cache:clear-metadata
需要运行,我没有成功尝试过,所以我错过的最大事情是环境,因此命令是
app/console doctrine:cache:clear-metadata --env=prod
此后一切都很好,非常令人沮丧