【问题标题】:Symfony doctrine migration rename table with relationsSymfony 学说迁移重命名表与关系
【发布时间】:2017-12-10 16:29:56
【问题描述】:

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

示例表名是模型,我想将其更改为 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');

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

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

【问题讨论】:

    标签: mysql symfony doctrine alter tablename


    【解决方案1】:

    :(

    清除缓存的正常方法是缺少学说映射。

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

    它又开始工作了。

    【讨论】:

      猜你喜欢
      • 2017-04-09
      • 1970-01-01
      • 2017-12-05
      • 2019-12-28
      • 1970-01-01
      • 2016-12-17
      • 2014-09-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多