2017-08-16 2 views
0

私はsymfony 3をsonata-admin-bundleと一緒に勉強していますが、ファイル(画像)をダウンロードし、Sonata MediaBundleをダウンロードする必要があります。私は名「symfony.articles」でエラーdoctrine symfony 3データベースのテーブルを更新するには

テーブルを取得するテーブルを更新しようとすると...更新した後、立ち往生:スキーマ:あなたは教義を介してデータベースを更新する必要がある点に達しもう存在している。可能性があり、すべてをGoogleで検索

は、どこでも、すべてが唯一やらなかったことを一般的になど、OneToManyの依存性にかかっている - にも依存するすべてのエッセンスで削除 - 私は同じエラーを受け取り、すべて同じ。私はどこかにリンクが構築されたファイルがあることを理解していますが、これをすべて克服する方法はありますか?もちろん、私はすべてを抹消してすべてを作成してからデータベースを更新することができますが、これはオプションではありません!結局のところ、私はバンドを接続し続け、再び同じエラーが出てくるでしょう。プロンプト、決定してください。

答えて

0

モデルのどこかに重複マッピング(注釈/ xml/yaml)があります。私はこれを引き起こす正確な構文を覚えていませんが、それは間違いなく出発点です。

php bin/console doctrine:schema:validateを使用すると、問題を見つけるのに役立ちます。

/** 
* Article 
* 
* @ORM\Table(name="article") 
* @ORM\Entity(repositoryClass="AppBundle\Repository\ArticleRepository") 
*/ 
class Article 
{ 

私は、doctrineエンティティに重複する名前定義を持つことでこれを再現できました。

table name already exists error

+0

私は '$ phpのビン/コンソール教義走っ:スキーマ:validate'コマンドをし、同じエラーを得ました。はい、私はすでにそのようなテーブルを持っていますが、私は新しいエンティティから形成されなければならない新しいテーブルを追加する必要があります。 – dmitry76

+0

あなたのクラスを定義するアノテーション(アノテーションを使用していると仮定しています)がある上部のDoctrineエンティティを見てください。私は同じ名前の2つを持っていると思います。 '* @ORM \ Table(name =" articles "、indexes = {...' – tlorens

+1

ありがとうございます! – dmitry76

関連する問題