Php 使用Doctrine2和Symfony2删除表
如何使用Doctrine2和Symfony2删除表?我已经生成了实体并更新了架构,现在我想删除此结构。只需删除您不再手动使用的表……条令完全忽略未映射的表。不确定我是否正确理解了您的问题。您删除了一个实体,是否还想从数据库中删除其生成的表?如果是: 您不能这样做,因为Doctrine2只关心它所知道的表——也就是说由实体表示的表。因为您从应用程序中删除了一些实体,所以条令不再认为该表属于您的应用程序。在某些情况下,同一数据库中存在不同应用程序的不同表。如果条令只是因为对它们一无所知而删除它们,那是没有意义的。这将是种族歧视。。。但在桌子上 如果您只想以编程方式删除表,可以使用原始查询。据我所知,条令没有任何删除表的方法。或者,您也可以手动执行。您可以执行原始sql 例如,在Symfony2控制器中:Php 使用Doctrine2和Symfony2删除表,php,symfony,doctrine-orm,Php,Symfony,Doctrine Orm,如何使用Doctrine2和Symfony2删除表?我已经生成了实体并更新了架构,现在我想删除此结构。只需删除您不再手动使用的表……条令完全忽略未映射的表。不确定我是否正确理解了您的问题。您删除了一个实体,是否还想从数据库中删除其生成的表?如果是: 您不能这样做,因为Doctrine2只关心它所知道的表——也就是说由实体表示的表。因为您从应用程序中删除了一些实体,所以条令不再认为该表属于您的应用程序。在某些情况下,同一数据库中存在不同应用程序的不同表。如果条令只是因为对它们一无所知而删除它们,那
$em = $this->getDoctrine()->getManager();
$sql = 'DROP TABLE hereYourTableName;';
$connection = $em->getConnection();
$stmt = $connection->prepare($sql);
$stmt->execute();
$stmt->closeCursor();
在原则2.6.2中,您可以通过删除实体类来删除表,迁移后:diff您将通过删除表查询获得新文件,迁移:migrate将执行删除所需表的命令。 即将被删除的类与其他实体有关系,所以我必须粗暴地(手动)删除其他实体中提到的所有旧实体类。
刚刚测试。我不明白这个问题。。。。你想删除什么?还有类实体吗?你实际上可以使用控制台命令删除表:我想你的意思是…tableist