summaryrefslogtreecommitdiff
path: root/lib/tasks/database.rake
blob: a34bd7ccc1796137798c08f5fade0d3bd151adac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
namespace :db do
  task :restore do
    config = Rails.configuration.database_configuration
    destination_db = config[Rails.env]["database"]
    host = config[Rails.env].fetch("host", "localhost")

    newest_backup = Dir['db/backups/*.dump'].max_by { |file| File.mtime(file) }
    sh "PGPASSWORD=#{config[Rails.env]["password"]} pg_restore --verbose --clean --no-acl --no-owner -h #{host} -U #{config[Rails.env]["username"]} -d #{destination_db} #{newest_backup}"
  end

  task :backup do
    sh "bundle exec cap #{ENV['RAILS_ENV']} db:backup"
  end
end