浏览代码

merged branch arnogeurts/PR-2688 (PR #2879)

Commits
-------

7ac43fc 2879: missing space between catch and the brace
0900ecc #2688: Entities are generated in wrong folder (doctrine:generate:entities Namespace)

Discussion
----------

[Console] [Doctrine] Fixed: Entities are generated in wrong folder (doctrine:generate:entities Namespace)

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: no
Fixes the following tickets: 2688
Todo: -

See PR 2746 for the description of the bug.

Bug-description:
Running the command "$php app/console doctrine:generate:entities [bundle name]" from the commandline throws an exception when the entities do not exist yet. Because metadata of the entity class could not be retrieved.

Bugfix:-description:
Fall back to bundle metadata when no entity metadata could not be retrieved.
Fabien Potencier 13 年之前
父节点
当前提交
dbce8d9cf9
共有 1 个文件被更改,包括 6 次插入1 次删除
  1. 6 1
      src/Symfony/Bundle/DoctrineBundle/Command/GenerateEntitiesDoctrineCommand.php

+ 6 - 1
src/Symfony/Bundle/DoctrineBundle/Command/GenerateEntitiesDoctrineCommand.php

@@ -113,7 +113,12 @@ EOT
                 $output->writeln(sprintf('  > backing up <comment>%s.php</comment> to <comment>%s.php~</comment>', $basename, $basename));
             }
             // Getting the metadata for the entity class once more to get the correct path if the namespace has multiple occurrences
-            $entityMetadata = $manager->getClassMetadata($m->getName(), $input->getOption('path'));
+            try {
+                $entityMetadata = $manager->getClassMetadata($m->getName(), $input->getOption('path'));
+            } catch (\RuntimeException $e) {
+                // fall back to the bundle metadata when no entity class could be found
+                $entityMetadata = $metadata;
+            }
 
             $output->writeln(sprintf('  > generating <comment>%s</comment>', $m->name));
             $generator->generate(array($m), $entityMetadata->getPath());