gpt4 book ai didi

mysql - Symfony Doctrine 迁移重命名表与关系

转载 作者:行者123 更新时间:2023-11-29 02:42:52 25 4
gpt4 key购买 nike

我正在尝试使用 Doctrine 迁移更改表名。

示例表名称是 model,我想将其更改为 new_model。

/**
* Class Model
*
* @package AppBundle\Entity
*
* @ORM\Table(name="new_model")
* @ORM\Entity(repositoryClass="AppBundle\Repository\ModelRepository")
* @ORM\HasLifecycleCallbacks()
*/
class Model
{
......

* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Product", inversedBy="products", fetch="EAGER", cascade={"persist"})
* @ORM\JoinColumn(name="product_id", referencedColumnName="id", nullable=false)
private $brand;

.......

要使用迁移脚本手动更改列名,我使用了:

 $this->addSql('ALTER TABLE model RENAME new_model');

运行迁移后,关系(连接列)没有改变,仍然引用旧的列名。我也清除了缓存。

有人知道如何在不丢失关系数据的情况下更改表名和外键吗?

最佳答案

:(

清除缓存的正常方法缺少 Doctrine 的映射。

运行后:php bin/console d:c:clear-metadata

它又开始工作了。

关于mysql - Symfony Doctrine 迁移重命名表与关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47740899/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com