32 lines
956 B
Ruby
32 lines
956 B
Ruby
namespace :dev do
|
|
def run_and_stop_if_error(cmd)
|
|
sh cmd do |ok, res|
|
|
if !ok
|
|
abort "#{cmd} failed with result : #{res.exitstatus}"
|
|
end
|
|
end
|
|
end
|
|
|
|
task :import_db do
|
|
filename = "tps_prod_#{1.day.ago.strftime("%d-%m-%Y")}.sql"
|
|
local_file = "/tmp/#{filename}"
|
|
|
|
if !File.exist?(local_file)
|
|
run_and_stop_if_error "scp -C deploy@sgmap_backup:/var/backup/production1/db/#{filename} #{local_file}"
|
|
end
|
|
|
|
dev_env_param = "RAILS_ENV=development"
|
|
|
|
Rake::Task["db:drop"].invoke(dev_env_param)
|
|
Rake::Task["db:create"].invoke(dev_env_param)
|
|
run_and_stop_if_error "psql tps_development -f #{local_file}"
|
|
|
|
Rake::Task["db:migrate"].invoke(dev_env_param)
|
|
Rake::Task["db:environment:set"].invoke(dev_env_param)
|
|
Rake::Task["db:test:prepare"].invoke
|
|
end
|
|
|
|
task :console do
|
|
exec("ssh tps@sgmap_production1 -t 'source /etc/profile && cd current && bundle exec rails c production'")
|
|
end
|
|
end
|