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
146
147
148
149
150
|
# File 'lib/capistrano-db-tasks/database.rb', line 146
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
166
167
168
169
170
171
172
173
174
175
|
# File 'lib/capistrano-db-tasks/database.rb', line 166
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))
File.unlink(local_db.output_file) if instance.fetch(:db_local_clean)
end
|
.remote_to_local(instance) ⇒ Object
152
153
154
155
156
157
158
159
160
161
162
163
164
|
# File 'lib/capistrano-db-tasks/database.rb', line 152
def remote_to_local(instance)
local_db = Database::Local.new(instance)
remote_db = Database::Remote.new(instance)
check(local_db, remote_db)
begin
remote_db.dump.download
ensure
remote_db.clean_dump_if_needed
end
local_db.load(remote_db.output_file, instance.fetch(:db_local_clean))
end
|