学说数据库验证显示不存在的差异



很奇怪,在我跑步之后

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

php bin/console doctrine:schema:validate

教义仍然表明:

[映射] 正常 - 映射文件正确。 [数据库]失败 - 数据库架构与当前映射文件不同步。

我尝试再次执行此操作,在 Windows 10 中的 powershell 和命令提示符下尝试,但他仍然转储相同:

ALTER TABLE binary_files CHANGE `key` `key` VARCHAR(64) NOT NULL;
ALTER TABLE config CHANGE name name VARCHAR(64) NOT NULL;
ALTER TABLE game_data CHANGE name name VARCHAR(64) NOT NULL;
ALTER TABLE game_history CHANGE name name VARCHAR(64) NOT NULL;
ALTER TABLE rfid_key CHANGE key_code key_code VARCHAR(64) NOT NULL;
ALTER TABLE wheel_stat CHANGE tstamp tstamp DATE NOT NULL;

此字段是主键。可能出了什么问题?我也检查了数据库更新是MADE,但学说没有看到它?我还尝试通过以下方式清除缓存:

php bin/console cache:clear --no-warmup

但什么也没发生。帮助?

编辑

好的,我得到了一些东西。当我删除时

     * @ORMGeneratedValue(strategy="IDENTITY")

/**
 * @var string
 *
 * @ORMColumn(name="key", type="string", length=64)
 * @ORMId
 * @ORMGeneratedValue(strategy="IDENTITY")
 */
private $key;

一切正常。我读了这个

doctrine-project.org/projects/doctrine-orm

但我仍然不知道如何解决这个问题。

我使用:

  • Symfony=3.4.9 (flex)
    • 教义/ORM=2.5
  • 玛丽亚数据库=10.2.14


溶液:

config/packages/doctrine.yaml中的属性server_version上注释或设置值"mariadb-10.2.14"。


深受启发: https://github.com/doctrine/dbal/issues/2985

试试吧 -> php bin/console doctrine:schema:update --force --complete --dump-sql

或仅

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

相关内容

  • 没有找到相关文章

最新更新