私はDoctrine ORMとZF2で生成されたEntityクラスを持っています。
テーブル構造を変更し、エンティティクラスを更新したいので、エンティティクラスを再生成しようとしていますが、うまくいきません。
私は次のコードを使用しました:
vendor / doctrine / doctrine-module / bin / doctrine-module orm:変換マッピング--namespace = "AlbumEntity" --force --from-databaseアノテーション./module/Album/src/clear
私はエラーがある:
[DoctrineORMMappingMappingException]
"AlbumEntityTestRun"のプロパティ "status"はすでに宣言されていますが、宣言は1回だけでなければなりません
orm:convert-mapping [--filter = "..."] [--force] [--from-database] [--extend [= "..."]] [--num-spaces [= " ... "]] [--namespace [=" ... "]] to-type dest-path
特定のテーブルのエンティティクラスを再生成したい
回答:
回答№1は0Entityファイルの構造を簡単に変更すると
vendorbindoctrine-module orm:schema-tool:update --force
Entityの定義に従ってテーブルを変更します。
それでもテーブルを再作成したい場合は、MySQLからテーブルを削除してupdateコマンドを実行してください。キャッシュファイルが残っているかもしれないので、それらをクリアするのも良い考えかもしれません。
次のようにして完全なキャッシュを消去できます。
vendorbindoctrine-module orm:clear-cache:query
vendorbindoctrine-module orm:clear-cache:result
vendorbindoctrine-module orm:clear-cache:metadata
回答№2の場合は0
上で述べたように、それは悪い習慣かもしれませんが、それでも私はあなたが尋ねている結果を達成するために次のコマンドを使います:
vendorbindoctrine-module orm:convert-mapping --filter="Evaluation" --namespace="MyModuleEntity\" --force --from-database annotation ./module/MyModule/src/
そして、ゲッターとセッターを生成するためのもう一つのコマンド:
vendorbindoctrine-module orm:generate-entities --filter="Evaluation" ./module/MyModule/src/ --generate-annotations=true