Sha256: 6c042c6171cf65f0f9f8eda38baf5934c0034c27fb7c4b099044649aa3884523

Contents?: true

Size: 1.23 KB

Versions: 1

Compression:

Stored size: 1.23 KB

Contents

require_relative('../../db/helper.rb')
require_relative('../../db/dump_helper.rb')
require_relative('../../db/load_helper.rb')

namespace :db do
  desc "export a local, remote or remote container mysql db"
  task :export do
    on roles(:db, :container_host) do |host|

      if fetch(:db_is_container)
        DumpHelper::dump_on_container_and_download container_by_name(fetch(:db_container_name))
      elsif fetch(:stage) == :local
        DumpHelper::dump_on_local
      else
        DumpHelper::dump_on_server_and_download
      end

      Helper::duplicate_local_dump_to_staged_dump
    end
  end

  desc "import a local, remote or remote container mysql db"
  task :import do
    on roles(:db, :container_host) do
      if fetch(:db_is_container)
        LoadHelper::import_on_container container_by_name(fetch(:db_container_name))
      elsif fetch(:stage) == :local
        LoadHelper::import_on_local
      else
        LoadHelper::import_on_server
      end
    end
  end
end

namespace :load do
  task :defaults do
    set :db_user, 'root'
    set :db_pass, ''
    set :db_name, ''
    set :db_remote_dump, '/tmp/dump.sql'
    set :db_local_dump, 'config/db/dump.sql'
    set :db_is_container, false
    set :db_container_name, 'db'
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
capistrano-container-db-0.0.1 lib/capistrano/tasks/db.rb