symfony2.1 プロジェクトで doctrine2 を使用しています。他のテーブルとの多対 1 のリレーションシップがいくつかあるエンティティがあります。これらの多対 1 の外部キー関係はデータベースで既に更新されていますが、migrations:diff または schema:update --dump-sql を実行するたびに、同じ更新コマンドが追加され、外部キー関係が再度追加されます。schema:validate を実行すると、マッピングがデータベースと同期していないと表示されます。
私のアプリケーションは正常に動作し、リレーションシップは適切に機能しており、データベースのスキーマは正しいようです。doctrine がまだこれらの外部キーを追加しようとしているのはなぜですか?
これが私のコードです(問題のあるパラメーターの1つ):
私の「チケット」エンティティには、次のものがあります。
/**
* Authenticated User who scored the ticket.
*
* @ORM\ManyToOne(targetEntity="CS\SecurityBundle\Entity\User")
* @ORM\JoinColumn(name="scoring_user_id", referencedColumnName="id")
*/
protected $scoringUser;
現在、一方向になるように設定しているため、User エンティティに inversedBy はありません。
これにより、既にデータベースにあるにもかかわらず、移行または schema:update ダンプに次のものが生成されます。
$this->addSql("ALTER TABLE tickets ADD CONSTRAINT FK_54469DF4BB0D9452 FOREIGN KEY (scoring_user_id) REFERENCES users (id)");
ここで何が間違っているのか分かりますか?