Rails quick tips #1: Console sandbox
- ruby rails productivity tips
This is the first in a series of Ruby on Rails related quick tips I’m going to publish over the next few days/weeks.
If I had to name the most underused tool in most Rails developer’s toolboxes, rails console --sandbox
would be my choice. Here’s what the documentation has to say on it:
If you wish to test out some code without changing any data, you can do that by invoking
rails console --sandbox
.
Here’s an example sandbox console session:
→ rails c --sandbox Loading development environment in sandbox (Rails 5.2.0) Any modifications you make will be rolled back on exit [1] (rails_new) main: 0> User.count (17.7ms) SELECT COUNT(*) FROM "users" => 1 [2] (rails_new) main: 0> User.destroy_all User Load (0.4ms) SELECT "users".* FROM "users" (1.5ms) SAVEPOINT active_record_1 User Destroy (7.4ms) DELETE FROM "users" WHERE "users"."id" = $1 [["id", 1]] (0.7ms) RELEASE SAVEPOINT active_record_1 => [#] [3] (rails_new) main: 0> User.count (0.3ms) SELECT COUNT(*) FROM "users" => 0 [4] (rails_new) main: 0> (0.8ms) ROLLBACK
As can be seen above the last SQL command executed in this console session was ROLLBACK
, so we’re leaving everything just the way we originally found it.
That’s it for today, I’ll be back with another database related Rails quick tip soon.