1 min read

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


The Rails Command Line — Ruby on Rails Guides
The Rails Command LineAfter reading this guide, you will know: How to create a Rails application. How to generate models, controllers, database migrations, and unit tests. How to start a development server. How to experiment with objects through an interactive shell.