Module: Database

Defined in:
lib/capistrano-db-tasks/database.rb

Defined Under Namespace

Classes: Base, Local, Remote

Class Method Summary collapse

Class Method Details

.check(local_db, remote_db) ⇒ Object



125
126
127
128
129
# File 'lib/capistrano-db-tasks/database.rb', line 125

def check(local_db, remote_db)
  unless (local_db.mysql? && remote_db.mysql?) || (local_db.postgresql? && remote_db.postgresql?)
    raise 'Only mysql or postgresql on remote and local server is supported'
  end
end

.local_to_remote(instance) ⇒ Object



141
142
143
144
145
146
147
148
149
# File 'lib/capistrano-db-tasks/database.rb', line 141

def local_to_remote(instance)
  local_db  = Database::Local.new(instance)
  remote_db = Database::Remote.new(instance)

  check(local_db, remote_db)

  local_db.dump.upload
  remote_db.load(local_db.output_file, instance.fetch(:db_local_clean))
end

.remote_to_local(instance) ⇒ Object



131
132
133
134
135
136
137
138
139
# File 'lib/capistrano-db-tasks/database.rb', line 131

def remote_to_local(instance)
  local_db  = Database::Local.new(instance)
  remote_db = Database::Remote.new(instance)

  check(local_db, remote_db)

  remote_db.dump.download
  local_db.load(remote_db.output_file, instance.fetch(:db_local_clean))
end