使用Symfony 4,我想从现有数据库生成实体,但是当我尝试转换*.orm.xml
文件时,我收到此消息:
[OK] No Metadata Classes to process.
我在*orm.xml
中有几个src/Resources/config/doctrine
个文件:
ls -l src/Resources/config/doctrine/
重现的步骤
在src/
中创建一个包:
<?php
namespace App;
use Symfony\Component\HttpKernel\Bundle\Bundle;
class App extends Bundle
{
}
在config/bundles.php
中,添加:
App\App::class => ['all' => true],
执行php bin/console doctrine:mapping:import --force App xml
生成*.orm.xml
个文件
执行php bin/console doctrine:mapping:convert annotation ./src
生成实体。
最后一个命令返回消息No Metadata Classes to process.
。
https://symfony.com/doc/current/doctrine/reverse_engineering.html
有什么想法吗?
非常感谢
答案 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
这是有效的......