Skip to content

Instantly share code, notes, and snippets.

@theill
Created January 21, 2009 10:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save theill/49918 to your computer and use it in GitHub Desktop.
Save theill/49918 to your computer and use it in GitHub Desktop.
namespace :app do
namespace :db do
desc "Copy entire database into current environment"
task :load => :environment do
db_config = ActiveRecord::Base.configurations[RAILS_ENV]
case RAILS_ENV
when 'development'
db_config_source = ActiveRecord::Base.configurations[DEVELOPMENT_SOURCE]
sh %{ssh -l deploy -C #{STAGING_DOMAIN} mysqldump -u #{db_config_source['username']} --password=#{db_config_source['password']} #{db_config_source['database']} | mysql -u #{db_config['username']} --password=#{db_config['password']} #{db_config['database']}}
when 'staging'
db_config_source = ActiveRecord::Base.configurations[STAGING_SOURCE]
sh %{mysqldump -u #{db_config_source['username']} --password=#{db_config_source['password']} #{db_config_source['database']} | ssh -C deploy@#{STAGING_DOMAIN} mysql -u #{db_config['username']} --password=#{db_config['password']} #{db_config['database']}}
when 'production'
db_config_source = ActiveRecord::Base.configurations[PRODUCTION_SOURCE]
sh %{mysqldump -u #{db_config_source['username']} --password=#{db_config_source['password']} #{db_config_source['database']} | ssh -C deploy@#{PRODUCTION_DOMAIN} mysql -u #{db_config['username']} --password=#{db_config['password']} #{db_config['database']}}
else
puts "Environment #{RAILS_ENV} is not supported by this rake script"
end
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment