Symfony Entites import - 无需处理元数据类

时间:2018-02-28 08:16:16

标签: php symfony orm doctrine entities

使用Symfony 4,我想从现有数据库生成实体,但是当我尝试转换*.orm.xml文件时,我收到此消息:

[OK] No Metadata Classes to process.

我在*orm.xml中有几个src/Resources/config/doctrine个文件:

ls -l src/Resources/config/doctrine/

重现的步骤

  1. src/中创建一个包:

    <?php
    namespace App;
    
    use Symfony\Component\HttpKernel\Bundle\Bundle;
    
    class App extends Bundle
    {
    }
    
  2. config/bundles.php中,添加:

    App\App::class => ['all' => true],
    
  3. 执行php bin/console doctrine:mapping:import --force App xml生成*.orm.xml个文件

  4. 执行php bin/console doctrine:mapping:convert annotation ./src生成实体。

  5. 最后一个命令返回消息No Metadata Classes to process.

    https://symfony.com/doc/current/doctrine/reverse_engineering.html

    有什么想法吗?

    非常感谢

1 个答案:

答案 0 :(得分:1)

我想我不了解官方文件......

我删除"OnStartupTriggeringPolicy": {"minSize":"0"} 的内容,然后执行此命令并生成我的实体:

src/Resources/config/doctrine

php bin/console doctrine:mapping:import --force App annotation 在这种情况下无用......

我的理解 我生成元数据文件:

php bin/console doctrine:mapping:convert annotation ./src

之后,我可以使用

转换这些php bin/console doctrine:mapping:import --force App xml 个文件
*.orm.xml

但这不起作用:(我不明白为什么......

但是,如果我不做任何事情(不要生成元数据),我会这样做:

php bin/console doctrine:mapping:convert annotation ./src

这是有效的......