Skip to content

Instantly share code, notes, and snippets.

@manojmj92
Created November 28, 2018 16:01
Show Gist options
  • Save manojmj92/2f939abce1b9564e1351feb76556e3e9 to your computer and use it in GitHub Desktop.
Save manojmj92/2f939abce1b9564e1351feb76556e3e9 to your computer and use it in GitHub Desktop.
sanbox rake
desc 'Run rake tasks with sandboxing'
task sandbox: :environment do
# Start transaction
ActiveRecord::Base.connection.begin_transaction(joinable: false)
puts "🆒 Sandbox Mode: ON 🆒"
# Run your task
Rake.application.invoke_task(ARGV.delete_at(1))
# Teardown
at_exit do
puts "Rolling back......"
ActiveRecord::Base.connection.rollback_transaction
puts "Roll back complete...."
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment