首页 > 解决方案 > 使用 Doctrine 验证模式的数据库错误

问题描述

我正在尝试使用理论 orm 和其他人构建的应用程序来创建数据库。我遇到了数据库错误,我不确定我是否不清楚这个概念,或者我是否需要调整注释。

命令和输出:

php bin/console doctrine:schema:validate

Mapping
-------


[OK] The mapping files are correct.


Database
--------

15:06:28 ERROR     [console] Error thrown while running command "doctrine:schema:validate". Message: "Invalid index-name unique_organization_id_application_id given, has to be [a-zA-Z0-9_]" ["error" => Doctrine\DBAL\Schema\SchemaException { …},"command" => "doctrine:schema:validate","message" => "Invalid index-name unique_organization_id_application_id given, has to be [a-zA-Z0-9_]"] []


[Doctrine\DBAL\Schema\SchemaException]
Invalid index-name unique_organization_id_application_id given, has to be [a-zA-Z0-9_]

听起来数据库设置不正确(尽管我认为这是设置数据库模式之前的第一步)

注释:

@ORM\Table(name="applications", uniqueConstraints={@UniqueConstraint(name="unique_organization_id_application_id", columns={"organization_id", "application_id"})})

这就是我无法理解的地方。organizationId并且applicationId都是该类的私有成员(?),具有 getter 和 setter。unique_organization_id_application_id在课堂上的任何地方都找不到。

标签: symfonydoctrineschema

解决方案


给定的索引名称 unique_organization_id_application_id 无效,必须为 [a-zA-Z0-9_]

该错误表明您在索引名称中插入了一些非英文字母。尝试完全删除该名称。


推荐阅读