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

Ang*_*o A 6 php symfony doctrine-orm

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

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

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

我做了app/console cache:clear选择.dev和prod都在两台服务器上.

我究竟做错了什么?

Ang*_*o A 4

终于找到了解决办法。

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

php bin/console doctrine:cache:clear-metadata

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