Doctrine orm 如何删除原则2中的实体?

Doctrine orm 如何删除原则2中的实体?,doctrine-orm,Doctrine Orm,如何删除原则2中的实体?我想知道如何通过命令行和PHP实现这一点。谢谢 编辑: 我不确定我问的这个问题是否正确(我对学说是新手)。我想把实体文件留在目录中,但我想从数据库中删除它的表。这源于基于Zend的模块化体系结构,在这种体系结构中,可以在不删除模块目录的情况下安装/卸载模块。如果卸载模块,我希望删除其实体。反之亦然。据我所知,没有办法做到这一点。您必须手动删除关联的数据库表 如果您想将ORM注释从实体生成过程中排除,您可以从实体中删除\ORM注释。我对Doctrine的API做了一些研究,

如何删除原则2中的实体?我想知道如何通过命令行和PHP实现这一点。谢谢

编辑:
我不确定我问的这个问题是否正确(我对学说是新手)。我想把实体文件留在目录中,但我想从数据库中删除它的表。这源于基于Zend的模块化体系结构,在这种体系结构中,可以在不删除模块目录的情况下安装/卸载模块。如果卸载模块,我希望删除其实体。反之亦然。

据我所知,没有办法做到这一点。您必须手动删除关联的数据库表


如果您想将ORM注释从实体生成过程中排除,您可以从实体中删除\ORM注释。

我对Doctrine的API做了一些研究,最终找到了它:

$classes = array();
$entityManager = ...
$classes[] = $entityManager->getClassMetadata('Entities\MyEntity1');
$classes[] = $entityManager->getClassMetadata('Entities\MyEntity2');
$classes[] = $entityManager->getClassMetadata('Entities\MyEntity3');
$classes[] = $entityManager->getClassMetadata('Entities\MyEntity4');

//Doctrine Schema Tool
$st = new Doctrine\ORM\Tools\SchemaTool( $entityManager );
$st->dropSchema($classes);
这将从数据库中删除与实体\MyEntity1、2、3和4关联的表

此外,除了最后一行之外,使用与上面完全相同的代码,以下方法也很有用:

$st->createSchema($classes);

您可以在条令文件中找到所有信息:

$st->updateSchema($classes);