わかりました doctrine:generate:entities コマンドに最後の問題があります
以下のコマンドを実行すると、予想されるファイルが取得されます
/src/MyNamespace/Bundle/MyNamespaceBundle/Resources/config/doctrine/metadata/orm
コマンド:
php app/console doctrine:mapping:convert yml ./src/MyNamespace/Bundle/MyNamespaceBundle/Resources/config/doctrine/metadata/orm --from-database --em=my_manager --filter=TblReports --verbose
TblReports.orm.yml
ファイルが表示され、最初の行は次のとおりです。
TblReports
コマンド: (これは yml ではなく注釈にする必要がありますか?)
php app/console doctrine:mapping:import MyNamespaceBundle yml --em=my_manager --filter=TblReports
上記のコマンドを実行すると、ここにファイルが取得されます
/src/MyNamespace/Bundle/MyNamespaceBundle/Resources/config/doctrine/
最初のコマンドから生成された最初のファイルと同じ名前ですが、場所と最初の行が異なります (これは名前空間であると想定しています)
TblReports.orm.yml
そして今、最初の行は次のとおりです。
MyNamespace\Bundle\MyNamespaceBundle\Entity\TblReports
しかし、私はそれが必要だと思います
MyNamespace\Bundle\MyNamespaceBundle\Entity\Reports\TblReports
今、最後のコマンドを実行します
php app/console doctrine:generate:entities MyNamespaceBundle --path=src --no-backup
このエラーが発生します
[RuntimeException]
Bundle "MyNamespaceBundle" does not contain any mapped entities.
このようにコマンドを実行すると
php app/console doctrine:generate:entities MyNamespaceBundle:Reports --path=src --no-backup
このエラーが発生します (ただし、名前空間は正しいようです)
[RuntimeException]
Namespace "MyNamespace\Bundle\MyNamespaceBundle\Entity\Reports" does not contain any mapped entities.
ここに my_manager ( config.yml ) があります
# Doctrine Configuration
doctrine:
dbal:
default_connection: my_database
connections:
my_database:
driver: pdo_pgsql
port: 5432
dbname: tbl_reports
user: foo_user
password: foo_pass
charset: UTF8
mapping_types:
bit: string
orm:
auto_generate_proxy_classes: "%kernel.debug%"
default_entity_manager: my_manager
entity_managers:
my_manager:
connection: my_database
mappings:
MyNamespaceBundle:
mapping: true
dir: Entity/Reports
config_dev.yml (接続できるホストを制御するために dev および prod yml ファイルを使用します)
# Doctrine Configuration
doctrine:
dbal:
connections:
my_database:
host: 172.0.0.1
質問:
- このエラーが発生するのはなぜですか?
- どうすれば修正できますか?
関連する質問:
更新#1:
annotation
さて、代わりに2 番目のコマンドを実行するyml
と、ファイルは次の場所に生成されました。
MyNamespace\Bundle\MyNamespaceBundle\Entity
指図:
php app/console doctrine:mapping:import MyNamespaceBundle annotation --em=my_manager --filter=TblReports
doctrine:generate:entities (両方向) を実行しましたが、それでもエラーが発生しました。ファイルをこのディレクトリに移動することにしました
MyNamespace\Bundle\MyNamespaceBundle\Entity\Reports
doctrine:generate:entities agin (両方の方法) を実行しましたが、それでもエラーが発生しました。ファイル内の名前空間を調べたところ、work 名前空間を指していることがわかりました。私はから更新しました:
MyNamespace\Bundle\MyNamespaceBundle\Entity\TblReports
に
MyNamespace\Bundle\MyNamespaceBundle\Entity\Reports\TblReports
このコマンドを実行しました
php app/console doctrine:generate:entities MyNamespaceBundle:Reports --path=src --no-backup
そして今では動作します
Generating entities for namespace "MyNamespace\Bundle\MyNamespaceBundle\Entity\Reports"
したがって、質問#3は次のとおりです。
- インポート時に正しい名前空間を追加する 2 番目のコマンドを取得するにはどうすればよいですか?
私はこれを試しましたが、サイコロはありません
php app/console doctrine:mapping:import MyNamespaceBundle:Reports annotation --em=my_manager --filter=TblReports
ドキュメント:
ソース: