如何刪除Doctrine 2中的實體?我想知道如何通過命令行和PHP來做到這一點。謝謝!如何刪除Doctrine 2中的實體?
編輯: 我不知道我是否正確地問這個問題(我是新學說)。我想將Entity文件保留在目錄中,但我想從數據庫中刪除它的表。這源自基於Zend的模塊化體系結構,其中可以在不移除模塊目錄的情況下安裝/卸載模塊。如果一個模塊被卸載,我想刪除它的實體。相反的情況也是如此。
如何刪除Doctrine 2中的實體?我想知道如何通過命令行和PHP來做到這一點。謝謝!如何刪除Doctrine 2中的實體?
編輯: 我不知道我是否正確地問這個問題(我是新學說)。我想將Entity文件保留在目錄中,但我想從數據庫中刪除它的表。這源自基於Zend的模塊化體系結構,其中可以在不移除模塊目錄的情況下安裝/卸載模塊。如果一個模塊被卸載,我想刪除它的實體。相反的情況也是如此。
我做了一些尋找到學說的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);
你可以找到主義的文檔中的所有信息:
據我所知,沒有辦法做到這一點。您必須手動刪除關聯的數據庫表。
如果您想從實體生成過程中排除它,您可以從實體中刪除\ ORM註釋。