我只是在代码中修复了一些东西。我现在正在尝试验证我的架构
php bin /控制台学说:schema:validate
Doctrine告诉我我的映射是正确的,但是我的数据库模式却不正确。所以我在做
schema:update --dump-sql
一次又一次地导致相同的ALTER,我已经执行了很多次。
这里是ALTER:
ALTER TABLE migration_versions CHANGE version version VARCHAR(14) NOT NULL;
我做到了(使用--force),该实体已经在反映更改:
**
* MigrationVersions
*
* @ORM\Table(name="migration_versions")
* @ORM\Entity
*/
class MigrationVersions
{
/**
* @var string
*
* @ORM\Column(name="version", type="string", length=14, nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $version;
我是正确的吧?其varchar,长度为14 ...
我不认为我在这里犯了错误,但我可能遗漏了一些东西。
答案 0 :(得分:1)
您是否已经验证了教义配置文件中的server_version
是正确的? (symfony5中的config/packages/doctrine.yaml
)
我偶然发现我正在使用MariaDB(version 10.4.11-MariaDB - Source distribution
),并且在文件doctrine.yaml
中,server_version
参数的值为5.7
。
更正了该错误之后,该错误不再发生。
您也可以选中此question