いくつかのフィールドを持つテーブル「my_table」があります。「my_table」を使用して MyBundle にエンティティを生成したい。しかし、MyBundle のすべてのエンティティを再作成したくありません。これどうやってするの?
質問する
26555 次
4 に答える
16
これがあなたがそれをすることができる方法です、
最初のステップでは、Doctrineにデータベースをイントロスペクトし、対応するxmlまたはymlメタデータファイルを生成するように依頼します。
php app/console doctrine:mapping:convert [xml|yml] Path/To/MyBundle/Resources/config/doctrine/metadata/orm --from-database --force --filter=MyTable
2番目のステップでは、次の2つのコマンドを実行して、スキーマをインポートし、関連するエンティティクラスを構築するようにDoctrineに依頼します。
php app/console doctrine:mapping:import MyBundle [xml|yml|annotation] --filter=MyTable
php app/console doctrine:generate:entities Path\To\MyBundle\EntityFolder\\MyTable
ドキュメントの「既存のデータベースからエンティティを生成する方法」セクションをご覧ください。
于 2012-11-15T09:49:53.997 に答える
2
php app/console doctrine:mapping:import "MyCustomBundle" xml --filter=MyMatchedEntity
于 2012-11-15T09:52:21.233 に答える
1
これは古い投稿ですが、次のエラーが発生した場合は、
Database does not have any mapping information.
小切手
テーブル名がblog_post
フィルターオプションにある場合は使用し、使用BlogPost
しませんblog_post
参考:https ://stackoverflow.com/a/27019561/6504104
これは上記の回答でカバーされていますが、見逃してこのエラーが発生していました
だから私はこれを明確にしたかった
また、symfony >= 3.4 そのphp bin/console
例
php bin/console doctrine:mapping:import --force AppBundle xml --filter="BlogPost"
その後
php bin/console doctrine:mapping:convert annotation ./src/AppBundle/Entity --from-database --filter="BlogPost"
ありがとう...
于 2017-12-05T14:48:26.290 に答える