【发布时间】:2015-06-15 12:07:04
【问题描述】:
我有两台服务器(在本地和一台生产上)。它们具有相同的设置。当我想让我的新代码投入生产时,我唯一更新的是 src 文件夹。所以当我推送一个版本时,这个文件夹是完全一样的。
在我的本地服务器上,我的实体/表中的新列有效,可以创建、更新等。但在我的生产环境中,这个新列没有被教义注意到甚至选择。
新列在我的数据库(生产和本地)中,在我的entity.php 文件中,在我的entity.orm.yml 文件中。
我选择了app/console cache:clear 选项。 dev 和 prod 都在两台服务器上。
我做错了什么?
【问题讨论】:
-
auto_mapping 在 config.yml 中可能未设置为 true
-
您的本地服务器和生产服务器是否都在“prod”模式下运行?如果你运行 'app/console dictionary:schema:update --dump-sql' 会得到什么输出?
-
你更新代理了吗?
-
@pcm 自动映射设置为 true。
-
@AngeloA 如果教义看不到架构更新的这些字段,则在应用程序运行时将看不到它们。最典型的原因是生产环境中的 entity.orm.yml 文件与本地服务器上的文件不匹配,或者缓存没有刷新。另一次我看到这个问题是 orm.yml 中的一个错误,但它在任何一个服务器上都不起作用。
标签: php symfony doctrine-orm