Un nouveau module pour le framework de développement play! est disponible. Celui-ci permet d'exporter les données de votre application au format YML grace à une seule ligne de commande : play yml:generate
Le format YML étant géré par le framework, ceci vous permet de sauvegarder la structure et les données de votre base de données.
Ce module peut être très pratique pour :
Editer le fichier "conf/application.conf" de votre application et y ajouter les lignes suivantes :
# The logisima play ymlmodule
%test.module.logisima-yml=${play.path}/module/logisimayml
NB: Le module ne sert à rien dans un environnement de production, alors charger uniquement pour l'environnement de test en utilisant les identifiant play! (ici test).
Pour générer le fichier yml correspondant à votre base de données, il suffit d'utiliser la commande suivante : play yml:generate
Ceci va créer un fichier data.yml dans le répertoire conf de votre application.
Premièrement, utilisez la base de données Hsql chargée directement en mémoire (pas sur le file system). Editez le fichier "conf/application.conf" et modifiez ajoooutez les paramètres suivants (comme précédemment, "test" est le play ID de mon environnement de test) :
%test.db=mem
Deuxièmement, lors du démarrage de votre application, chargez le fichier YML. Vous pouvez réaliser ceci en créant la classe suivante dans le package jobs :
package jobs;
import play.Play;
import play.jobs.Job;
import play.jobs.OnApplicationStart;
import play.test.Fixtures;
@OnApplicationStart
public class Bootstrap extends Job {
public void doJob() {
// ou "Play.mode == Mode.DEV" pour
// tous les env. sauf la prod
if (Play.id.equals("test")) {
Fixtures.deleteAll();
Fixtures.load("data.yml");
}
}
}
Et dans vos classes de test, n'oubliez d'ajouter cette methode :
@Before
public void setUp() {
Fixtures.deleteAll();
Fixtures.load("data.yml");
}
auncun commentaires