doctrine2 エンティティークラスを作成しGroup
、テーブル名を引用しました:
/**
* models\Entity\Group
*
* @ORM\Entity(repositoryClass="models\Repository\GroupRepository")
* @ORM\Table(name="`group`", indexes={@ORM\Index(name="admin", columns={"`admin`"})})
*/
class Group
{
しかし、教義は各クエリでテーブル名を引用していないようです。最後の 2 つのクエリを実行するとdoctrine orm:schema-tool:update --dump-sql
、エスケープされません。
ALTER TABLE group DROP FOREIGN KEY FK_6DC044C5814666E9;
ALTER TABLE group ADD CONSTRAINT FK_6DC044C5814666E9 FOREIGN KEY (`admin`) REFERENCES `user` (`id`)
ここで何か間違ったことをしていますか?
編集
とりあえず交換した
if ($table instanceof Table) {
$table = $table->getQuotedName($this);
}
これで
if ($table instanceof Table) {
$table = $table->getQuotedName($this);
} /* Start hack */ else if (0 !== strpos($table, '`'))
$table = "`$table`"; /* End hack */
\Doctrine\DBAL\Platforms\AbstractPlatform::getCreateForeignKeySQL()
とでgetDropForeignKeySQL()
。しかし、もちろん、それは…ええと…非常に良い解決策ではありません。