Symfony相同的代码,不同的服务器,没有字段或协会


Symfony same code, different server, no field or assocation

我有两台服务器(本地服务器和一台生产服务器)。它们具有相同的设置。当我希望我的新代码投入生产时,我唯一更新的是 src 文件夹。所以当我推送版本时,这个文件夹是完全相同的。

在我的本地服务器上,我的实体/表中的新列可以工作,并且可以创建、更新等。但是在我的生产环境中,这个新专栏并没有被注意到,甚至没有被学说选择。

新列在我的数据库(生产和本地)中,在我的entity.php文件中,在我的entity.orm.yml文件中。

我做了app/console cache:clear选项。开发和生产以及两台服务器上。

我做错了什么?

终于找到了解决方案。

因为我没有在本地服务器上使用元数据缓存,而是在我的生产服务器上使用元数据缓存,所以它保存了我的映射信息。这就是为什么教义不知道我有新专栏的原因。解决方案是使用以下方法清除元数据缓存:

php bin/console doctrine:cache:clear-metadata

之后,我运行php bin/console doctrine:schema:update --dump-sql并得到了新列。