很奇怪,在我跑步之后
`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