10

いくつかのフィールドを持つテーブル「my_table」があります。「my_table」を使用して MyBundle にエンティティを生成したい。しかし、MyBundle のすべてのエンティティを再作成したくありません。これどうやってするの?

4

4 に答える 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 に答える