Blog

Play2 accéder à la base de donnée

Play2, c’est fun et c’est rapide ! Il suffit de quelques instants pour avoir une appli qui tourne en local sans rien avoir à configurer voir la doc de play. En plus dès que l’on commence un peu à jouer, créer des entités, faire une page de CRUD, tout tourne toujours aussi bien. Il faut dire que c’est agréable, car Ebean s’est occupé de générer les commandes sql dans le fichier 1.sql qui est joué automatiquement par play.

Le problème arrive en général un peu après, lorsque l’envie nous prend de visualiser les données qu’on a insérées via les pages pour différents traitements. En effet, pas besoin de monter un serveur sql ou autre, par défaut tout se passe dans une base en mémoire (ce qui signifie aussi, que lorsque le serveur est arrêté les datas disparaissent). Et forcément la question universelle est “Mais comment je peux voir ces ***** de data en base ?”.

La solution est simple, elle réside dans une commande h2-browser. Mais pour pouvoir l’utiliser, il va falloir se discipliner un tout petit peu. En effet, si vous aviez l’habitude de faire des play run pour lancer le serveur et des ctrl-D pour l’arrêter, il va falloir changer de méthode.

La procédure miracle est donc la suivante :

  • lancer la console play
    $ play
  • lancer le visualiseur de bdd (qui ouvre une fenêtre dans votre navigateur web)
    $ h2-browser
  • démarrer votre serveur.
    $ run

Lorsqu’il se lance h2-browser devrait vous présenter une fenêtre de connexion comme celle-ci :

Maitenant qu’il est lancé, il faut se connecter, et par défaut c’est pas gagné, parce qu’il est configuré pour aller dans la base ’test’ qui est une base valide, mais surement pas celle où vos données sont.

Il faut donc modifier les champs jdbc, login, password. Pour cela allez chercher dans application.conf (normalement situé dans le répertoire /conf/ de votre projet) et trouvez les champs suivants

db.default.url="jdbc:h2:mem:play"
db.default.user=sa
db.default.password=

ce sont les 3 valeurs à recopier dans la fenêtre de connexion.

Et voilà le tour est joué, c’est tout de même sympa d’être sûr de ce que l’on a en base.

NB : Il faut absolument faire le run avant de se connecter à la base de donnée, sinon celle-ci sera lockée lors de la connexion par h2-broswer et l’application play ne pourra pas s’y connecter.

comments powered by Disqus

Contact

legos

Code-Troopers

26 bis rue Abraham Bosse
37000 Tours - Fr

[email protected]

07 82 28 72 16

Suivez nos actualités