【问题标题】:Symfony3 Doctrine schema update after switched git branch displays error切换 git 分支后 Symfony3 Doctrine 架构更新显示错误
【发布时间】:2021-02-11 19:33:08
【问题描述】:

对于一个 Symfony 3.4 项目,在打开 git 上的现有分支后,我做了一个

php bin/console doctrine:schema:update --force

为了在数据库中创建新的需要字段。

我遇到了一个错误:

在 AbstractMySQLDriver.php 第 60 行:发生异常时 执行 'SELECT t0.id AS id_1, t0.name AS name_2, t0.real_name AS 实名_3,...

SQLSTATE[42S22]:找不到列:1054 '字段列表'中的未知列't0.real_name'

这正是我想在我的数据库中添加的字段,为什么会出现这个错误?

尝试学说:缓存:清除元数据,缓存:清除,...,

感谢您的帮助。

【问题讨论】:

  • 请分享更多细节。为什么不使用迁移?另外,你确定这个问题与git有关吗?
  • 我创建了另一个分支并添加了新字段,然后切换到 master 并返回分支测试正确地重新创建了新字段。
  • 就像 Nico Haase 所说,更喜欢使用 Doctrine 迁移。每次修改实体后,运行bin/console doctrine:migration:diff,所有 sql 更改都将出现在 php 文件中。运行迁移。每个执行过的迁移都记录在 BDD 中

标签: php git symfony doctrine symfony3.x


【解决方案1】:

我发现了问题: 在 Service __construct 方法中,我对缺少字段的表进行了查询。 我认为任何 symfony 命令(缓存清除,学说模式)都必须在运行它们之前检查所有服务的完整性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-27
    • 2011-04-09
    • 1970-01-01
    • 1970-01-01
    • 2010-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多