2017-08-11 30 views
1

學說提供了一個簡單的方法來清除整個數據庫保持架構與POMM吹掃數據庫中的數據

$purger = new ORMPurger($this->getEntityManager()); 
$purger->purge(); 

有沒有辦法用POMM這樣做呢?

這將是特別有用的重置測試數據庫之間的每個測試場景,而不必關心外鍵。

回答

1

使用Doctrine時,它是模式權限,這意味着數據庫模式是使用PHP繪製的。在Pomm的情況下,Postgres是使用SQL的模式權限,因此Pomm不知道如何刪除/重新創建數據庫結構。使用模型管理器時,可以使用簡單的TRUNCATE my_table CASCADE

如果你想恢復以前的狀態的數據庫,可以考慮使用PostgreSQL的功能強大的交易機制:

BEGIN; 
-- do tests here 
ROLLBACK; -- restore the database as before