出于某种原因,当我使用生成迁移时
php app/console doctrine:migrations:diff
我为 FK_FFE561C6BE3BD8D4 和 IDX_FFE561C6BE3BD8D4 等约束和索引获得了奇怪的名称:
$this->addSql("ALTER TABLE agent_task ADD agentConfig_id INT UNSIGNED DEFAULT NULL, DROP agent_id"); $this->addSql("ALTER TABLE agent_task ADD CONSTRAINT FK_FFE561C6BE3BD8D4 FOREIGN KEY (agentConfig_id) REFERENCES agent_config (id)"); $this->addSql("创建索引 IDX_FFE561C6BE3BD8D4 ON agent_task (agentConfig_id)");
实体代码片段:
/** * @var 代理配置 * * @ORM\ManyToOne(targetEntity="AgentConfig",inversedBy="agentTasks") * @ORM\JoinColumn(name="agent_config_id", referencedColumnName="id") */ 私人 $agentConfig;
有没有办法为这些定义名称?
更新
我尝试了索引,但没有帮助。
/** * 代理任务配置 * * @ORM\Table(name="agent_task_config", 索引={@ORM\index(name="agent_task_config_task_id", columns={"task_id"})}) * @ORM\实体 */ 类 AgentTaskConfig
仍在发生:
$this->addSql("ALTER TABLE agent_task_config DROP FOREIGN KEY fk_agent_task_id"); $this->addSql("ALTER TABLE agent_task_config 添加约束 FK_7FEDF0EF8DB60186 FOREIGN KEY (task_id) REFERENCES agent_task (id)");