【发布时间】: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