私はデータベースに既存のエンティティを持っています。私は、このエンティティに新しい列を追加したい:私は今"vendor/bin/doctrine-migrate migrations:diff"
を使用すると、生成された移行スクリプトがlanguage_id
のデフォルト値が含まれていませんdoctrineの移行:nullにできないデフォルト値fk
/**
* @ORM\ManyToOne(targetEntity="Language")
* @ORM\JoinColumn(name="language_id", referencedColumnName="id", nullable=false)
*/
protected $language;
。したがって、移行スクリプトは失敗します。オブジェクト内のプロパティのデフォルト値を設定しても効果はありません。どのようにしてfk列のデフォルト値を定義できますか?私はdoctrinesのドキュメントやgoogle/stackoverflowで何も見つけませんでした。
:ここでは正確なメッセージ移行スクリプトを実行している: '表registered_userがLANGUAGE_ID VARCHAR(255)、NOT NULLを追加するALTER' を実行しながら、 は '例外が発生しました: SQLSTATE [23502]:未nullの違反: 7 ERROR:column "language_id"にヌル値が含まれています。 – mscho