2017-10-28 108 views
0

很奇怪,我运行后学说DB验证表明unexisting差异

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

而且比

php bin/console doctrine:schema:validate 

主义还表示:

[贴图] OK - 映射文件正确。 [数据库]失败 - 数据库模式与当前映射文件不同步。

我试着做一遍,试图PowerShell和命令提示符窗口中的10,但他仍然倾倒一样:

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 

但是什么都没有发生。帮帮我?

编辑

好吧,我得到的东西。当我从

/** 
* @var string 
* 
* @ORM\Column(name="key", type="string", length=64) 
* @ORM\Id 
* @ORM\GeneratedValue(strategy="IDENTITY") 
*/ 
private $key; 

一切删除

 * @ORM\GeneratedValue(strategy="IDENTITY") 

工作正常。我读这

doctrine-project.org/projects/doctrine-orm

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

回答

0

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

还是只有

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

+0

他说:在 “--full数据库” 选项不存在。 –

+0

好吧,我编辑了我的评论。 –

+0

他仍然显示相同的转储sql。其他更新工作,但那些与键的列没有。 –