Jak mogę z PHP, ponownie utworzyć moją bazę danych, może wstawić domyślne dane. Obecnie zamierzam wykorzystać to zachowanie do testów jednostkowych.Jak mogę w PHP ponownie utworzyć moją bazę danych (na przykład do testowania jednostek)?
Używam Doctrine 2, Zend Framework 1.11, Zend_Test
dla testów jednostkowych
mogę użyć CLI
doctrine orm:schema-tool:update --force
Albo
doctrine orm:schema-tool:drop --force
doctrine orm:schema-tool:create
szukam zamiennika PHP do tej pory znaleziono this
ale będzie wyglądać som Nie muszę tak naprawdę określać klas modeli, szczególnie w fazie rozwoju, kiedy mogą się zmieniać. Powinien po prostu przeczytać ze wszystkich klas określonych w ... poniżej ... podobnie jak w CLI, nie musisz określać klas, które chcesz?
$driverImpl = $config->newDefaultAnnotationDriver(array(realpath('../models')));
$config->setMetadataDriverImpl($driverImpl);
* (odniesienie) * [Rozdział w PHPUnit na temat testowania bazy danych] (http://www.phpunit.de/manual/3.4/en/database.html) – Gordon
@Gordon, dziękuję, myślę, że to będzie właściwa droga do jednostki przetestuj moje modele, jedyne co jest zamiast połączenia PDO, jak mogę użyć połączenia Doctrine? Używam [Doctrine 2] (http: //www.doctrine-project.org /) –
Zasadniczo używam tego samego ustawienia co ty, ale wyciągam listę nazw klas z konfiguracji, która jest łatwiejsza do utrzymania. Jednak odkryłem, że wywoływanie 'dropSchema()' i 'createSchema()' przy każdym teście jest * naprawdę * drogie, a duży zestaw testów trwa wiecznie. Używanie urządzeń PHPUnit jest znacznie szybsze. Będę musiał również sprawdzić rozszerzenie Benjamina. –