2017-12-10 7 views
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をへの参照です。私はキャッシュもクリアしました。

誰かが関係データを失うことなくテーブル名と外部キーを変更する方法を知っていますか?

答えて

0

:(

キャッシュをクリアする通常の方法は、教義のマッピングがありませんでした

実行した後:。 PHPのbin /コンソールD:C:明確なメタデータ

それは再び仕事をしていました。

関連する問題