Rails 3 Sandbox Console
Asked Answered
T

1

13

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?

Twelfthtide answered 3/2, 2011 at 0:49 Comment(0)
K
30

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.

Keratogenous answered 3/2, 2011 at 2:26 Comment(1)
As simple as that indeed :) Thanks! There's obviously something more going on on my server as when I ran rails c --help I get some vomit error...Twelfthtide

© 2022 - 2024 — McMap. All rights reserved.