【发布时间】:2019-01-03 04:53:09
【问题描述】:
我有两个独立的 Symfony 项目使用一个数据库。 第一个项目在 Symfony 3.2 上,第二个项目在 Symfony 2.8 上。 数据库是 MySQL。 一切都在生产阶段,一切正常。
现在我在第一个项目中有一些实体类,而在第二个项目中没有。我们以前不需要第二个项目中的实体,但现在我需要在第二个项目中使用它们。
我将实体从第一个项目复制到第二个项目。我们使用注释。
在此之后,我检查了我的数据库并在第二个项目上执行了命令: 应用程序/控制台原则:架构:更新 --force 并得到错误:基表或视图已经存在:1050 表'crm_user'已经存在。 如果我使用 --dump-sql 选项(app/console dictionary:schema:update --dump-sql)执行命令,我会看到创建的表已经存在!
CREATE TABLE crm_user (id INT AUTO_INCREMENT NOT NULL, ...
所以学说模式更新没有看到数据库表已经创建。如何解决? 我试图清除所有缓存(缓存:清除),学说元数据缓存(学说:缓存:清除元数据),查询缓存(学说:缓存:清除查询)并没有成功。在此之后我得到了同样的错误。 如果我尝试验证学说架构,则不会有新表。 当然,我不能删除表数据,因为一切都处于生产阶段。
可能有人遇到过这样的问题。我很感激任何建议。
【问题讨论】:
标签: php mysql symfony doctrine-orm doctrine