Doctrine orm Doctrine2迁移为外键重命名索引
我在doctrine:migrations:diff中重命名索引时遇到问题。每次运行此命令时,doctrine都会创建sql查询以重命名数据库中的现有索引。有没有办法防止这种行为 详细说明: 我们在Oracle上有大的(大约200个表)旧数据库。约束和索引有命名约定,例如:Doctrine orm Doctrine2迁移为外键重命名索引,doctrine-orm,doctrine,migration,Doctrine Orm,Doctrine,Migration,我在doctrine:migrations:diff中重命名索引时遇到问题。每次运行此命令时,doctrine都会创建sql查询以重命名数据库中的现有索引。有没有办法防止这种行为 详细说明: 我们在Oracle上有大的(大约200个表)旧数据库。约束和索引有命名约定,例如: 我们有表RANDOM\u KEY和USER,从RANDOM\u KEY到USER的外键(多对一),因此coinstraint有名称FK\u RANDOM\u KEY\u USER,相关索引是FK\u RANDOM\u KEY
我们有表RANDOM\u KEY和USER,从RANDOM\u KEY到USER的外键(多对一),因此coinstraint有名称FK\u RANDOM\u KEY\u USER,相关索引是FK\u RANDOM\u KEY\u USER\I 实体声明:
/**
* @ORM\Table(name="RANDOM_KEY")
* @ORM\Entity
*/
class RandomKey {
...
/**
* @var \User
*
* @ORM\ManyToOne(targetEntity="\User")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="USER_ID", referencedColumnName="USER_ID")
* })
*/
private $user;
关系宣言:
/**
* @ORM\Table(name="RANDOM_KEY")
* @ORM\Entity
*/
class RandomKey {
...
/**
* @var \User
*
* @ORM\ManyToOne(targetEntity="\User")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="USER_ID", referencedColumnName="USER_ID")
* })
*/
private $user;
迁移的结果:diff commad为:
$this->addSql("ALTER INDEX FK_RANDOM_KEY_USER_I RENAME TO IDX_C54F7889A0666B6F");
我深入研究了教义,尝试了一些调试。索引之间没有其他区别,只有名称。我还尝试将索引添加到@ORM/Table中。有没有办法防止索引重命名
相关作曲家数据:
- “symfony/symfony”:“2.4.*”
- “条令/orm”:“2.5.*”
- “条令/dbal”:“2.5.*”
- “条令/迁移”:“1.0.*@dev”
- “条令/条令包”:“1.2.*”
- “条令/条令迁移包”:“2.1.*@dev”