如何使用Doctrine2和Symfony2删除表?我已经生成了实体和更新的模式,现在我想删除这个结构。使用Doctrine2和Symfony2删除表
4
A
回答
14
不知道我是否正确理解你的问题。你删除了一个实体并且想从数据库中删除它生成的表?如果是这样的话:
你不能这样做,因为Doctrine2只关心它所知道的表 - 这意味着由实体表示的表。由于您从应用程序中删除了某个实体,因此Doctrine不再认为该表属于您的应用程序。在同一个数据库中存在不同应用程序的不同表格的情况。如果教条主义删除了它们,那是没有道理的,因为它对它们一无所知。这将是种族主义......但是反对桌子。
如果您只想以编程方式删除表,则可以使用原始查询。据我所知,Doctrine没有任何删除表的方法。或者作为替代方案,您可以手动完成。
+0
您实际上可以使用控制台命令删除这些表:https://stackoverflow.com/a/44952099/3409662 – user3409662 2017-07-06 14:45:34
3
只需删除您不再使用的表格......原则完全忽略未映射的表格。
5
你可以做一个原始的sql。
例如,在Symfony2的控制器:
$em = $this->getDoctrine()->getManager();
$sql = 'DROP TABLE hereYourTableName;';
$connection = $em->getConnection();
$stmt = $connection->prepare($sql);
$stmt->execute();
$stmt->closeCursor();
相关问题
- 1. Symfony2 + doctrine2表关系设计
- 2. 与Symfony2中,Doctrine2
- 3. Doctrine2&Symfony2单表格插入多表
- 4. dql - doctrine2 - symfony2 - > soundex
- 5. 在使用Symfony2和Doctrine2插入另一个表后试图更新一个表
- 6. Doctrine2 + Symfony2:如何使用Symfony2命名空间的学说实体?
- 7. symfony2和doctrine2中的SQL查询
- 8. symfony2和doctrine2中的“unitOfWork”是什么
- 9. 唯一约束 - Symfony2中和Doctrine2
- 10. symfony2和doctrine2较短的实体名称
- 11. 使用Symfony2 Doctrine2控制台/生成功能更改表格?
- 12. 使用YAML与Doctrine2和Symfony2的默认列值?
- 13. 的Symfony2/Doctrine2 - 获取有关
- 14. Symfony2中的Doctrine2查询
- 15. Symfony2 + Doctrine2:QueryBuilder中的错误
- 16. Symfony2/Doctrine2 - ManyToOne - 保存反面
- 17. 的Symfony2/Doctrine2:管理听众
- 18. Symfony2,Doctrine2,更新实体
- 19. Symfony2,Doctrine2,实体映射
- 20. symfony2/doctrine2 - dql语句onetoMany
- 21. 在Symfony2与Doctrine2上,Object = Entity?
- 22. 使用symfony2和ajax从会话中删除元素
- 23. 使用Symfony2上传和删除多个文件
- 24. (Doctrine2-Symfony2中)返回外键用的findAll()
- 25. symfony2 multidelte记录删除
- 26. cron Symfony2删除文件
- 27. doctrine2删除多对多关系
- 28. Doctrine2 +软删除作为状态模式
- 29. 关于删除与doctrine2级联
- 30. 删除多对多关系Doctrine2
我不明白的问题....要删除什么?也是类实体? – DonCallisto 2012-07-27 13:57:07