Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Rails 3 Sandbox Console

In Rails 2 you're able to run

script/console --sandbox

so you can play with production data and not accidentally break anything.

I can't seem to find the equivalent command for Rails 3. Does anyone know what it is?

like image 783
Ganesh Shankar Avatar asked Feb 03 '11 00:02

Ganesh Shankar


1 Answers

Easy, type in:

bundle exec rails c -s

and that is it.

$ bundle exec rails c --help
Usage: console [environment] [options]
    -s, --sandbox                    Rollback database modifications on exit.
        --debugger                   Enable ruby-debugging for the console.
        --irb                        DEPRECATED: Invoke `/your/choice/of/ruby script/rails console` instead

It is simple, but, sometimes, if you are not running rails executable using bundle exec, it may, or may not, result in an error. In order to avoid this, ALWAYS use bundle exec.

To quote bundler page (if not documentation):

In some cases, running executables without bundle exec may work, if the executable happens to be installed in your system and does not pull in any gems that conflict with your bundle.

However, this is unreliable and is the source of considerable pain. Even if it looks like it works, it may not work in the future or on another machine.

like image 133
Krule Avatar answered Oct 24 '22 06:10

Krule