Pour certains de mes tests, j'ai besoin de la méthode setUpBeforeClass
pour exécuter des migrations sur tous les modules présents, et de tearDownAfterClass
pour ré-migrer les modules. Via la ligne de commande c'est facile à faire:Comment exécuter des migrations de module par programme dans FuelPHP?
oil r migrate --modules
... pour exécuter les migrations du module, puis:
oil r migrate --modules --version=0
... pour les réinitialiser. Cependant, dans les tests, je dois le faire par programmation, et je n'arrive pas à comprendre comment exécuter les commandes ci-dessus en utilisant la classe Migrate de FuelPHP. Les deux méthodes latest
et version
semblent vous demander de spécifier un nom de module, mais je souhaite simplement migrer tous les modules présents. Est-ce possible?
Huh, c'est bizarre. Savez-vous s'il existe un moyen de le faire via l'huile - par exemple. 'Oil \ Refine :: run ('import', array ('- modules')'? (J'ai essayé ça et ça ne semble pas fonctionner, mais j'ai l'impression qu'il pourrait y avoir une solution dans ce sens ...) –
Eh bien, je ne voudrais pas jouer avec l'huile, mais je suis sûr que l'importation n'est pas le nom de la tâche de migration, c'est migrer.Je préfère ignorer l'huile et utiliser les méthodes que j'ai mentionnées plus haut: obtenir des noms de modules Sinon, vous pouvez également appeler l'huile en utilisant 'exec' –
Argh, désolé, c'était une erreur de couper-coller, je voulais dire 'Oil \ Refine :: run (' migrate ', array (' - module ') "import" est une tâche que j'ai écrite, et je lance Oil comme ça dans un de mes tests pour tester la tâche d'import, donc je sais que ça peut marcher. –