Le mode sandbox de la console Rails
Si vous avez besoin de tester une migration de donnée dans une console Rails sans avoir besoin de réimporter une nouvelle base de donnée à chaque fois, il existe un mode sandbox pour ça.
Pour le lancer c’est très simple
$ rails console --sandbox
Loading development environment in sandbox (Rails 6.1.4)
Any modifications you make will be rolled back on exit
Dans les faits, cette commande permet au lancement de l’application de démarrer une transaction SQL, qui une fois la console quittée sera rollback, pour empêcher le moindre changement de vos données d’être persistés.
Très pratique, le mode sandbox est disponible sur tout les environnements, idéal si vous souhaitez tester un patch à appliquer sur la base de production*. Il peut toutefois être désactivé avec l’option config.disable_sandbox
, afin d’éviter qu’une session sandbox trop longue épuise la mémoire de votre BDD.
* : encore faudrait-il que votre serviteur pense à s’en servir quand il en a besoin