ome*_*kes 7 migration doctrine doctrine-orm
我在doctrine中重命名索引时遇到问题:迁移:差异.每次运行此命令时,doctrine都会创建sql查询以重命名数据库中的现有索引.有什么方法可以防止这种行为吗?
完整描述:我们在Oracle上有大的(大约2个hundres表)旧数据库.有约束和索引的命名约定,例如:
我们有表RANDOM_KEY和USER,从RANDOM_KEY到USER的外键(多对一),因此coinstraint的名称为FK_RANDOM_KEY_USER,相关索引为FK_RANDOM_KEY_USER_I.
实体声明:
/**
* @ORM\Table(name="RANDOM_KEY")
* @ORM\Entity
*/
class RandomKey {
...
Run Code Online (Sandbox Code Playgroud)
关系声明:
/**
* @var \User
*
* @ORM\ManyToOne(targetEntity="\User")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="USER_ID", referencedColumnName="USER_ID")
* })
*/
private $user;
Run Code Online (Sandbox Code Playgroud)
迁移结果:diff commad是:
$this->addSql("ALTER INDEX FK_RANDOM_KEY_USER_I RENAME TO IDX_C54F7889A0666B6F");
Run Code Online (Sandbox Code Playgroud)
我调查了深度学说,尝试了一些调试.索引之间没有其他差异,只有名称.我还尝试将索引定义添加到@ ORM/Table.有没有办法阻止索引重命名?
相关作曲家数据:
| 归档时间: |
|
| 查看次数: |
1262 次 |
| 最近记录: |