1
ドクトリンマイグレーションでテーブル名を変更しようとしています。symfony doctrineマイグレーションリネームテーブルとリレーション
例テーブル名はモデルであり、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');
移行を実行した後の関係は、(結合列)に変更されていないと古いColumnNameをへの参照です。私はキャッシュもクリアしました。
誰かが関係データを失うことなくテーブル名と外部キーを変更する方法を知っていますか?