recipiez 0.6.11 → 0.6.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,3 @@
1
1
  module Recipiez
2
- VERSION = '0.6.11'
2
+ VERSION = '0.6.12'
3
3
  end
@@ -116,6 +116,34 @@ namespace :recipiez do
116
116
  puts "All done!"
117
117
  end
118
118
 
119
+ desc "Dump alternate database, copy it across and restore it locally"
120
+ task :pull_alternate do
121
+ set_variables_from_yaml(alternate_yaml_env)
122
+ archive = generate_archive(application)
123
+ filename = get_filename(application)
124
+ cmd = "mysqldump --opt --skip-add-locks -u #{db_user} "
125
+ cmd += " -h #{db_host} " if exists?('db_host')
126
+ cmd += " -p#{db_password} "
127
+ cmd += "#{database_to_dump} > #{archive}"
128
+ result = run(cmd)
129
+
130
+ cmd = "rsync -av -e \"ssh -p #{ssh_options[:port]} #{get_identities}\" #{user}@#{roles[:db].servers.first}:#{archive} #{dump_dir}#{filename}"
131
+ puts "running #{cmd}"
132
+ result = system(cmd)
133
+ puts result
134
+ run "rm #{archive}"
135
+
136
+ puts "Restoring db"
137
+ begin
138
+ `mysqladmin -u#{db_local_user} -p#{db_local_password} --force drop #{db_dev}`
139
+ rescue
140
+ # do nothing
141
+ end
142
+ `mysqladmin -u#{db_local_user} -p#{db_local_password} --force create #{db_dev}`
143
+ `cat #{dump_dir}#{get_filename(application)} | mysql -u#{db_local_user} -p#{db_local_password} #{db_dev}`
144
+ puts "All done!"
145
+ end
146
+
119
147
  desc "Push up the db"
120
148
  task :push do
121
149
  set_variables_from_yaml
@@ -310,14 +338,21 @@ def format_svn_log(current_revision, previous_revision)
310
338
  end
311
339
 
312
340
 
313
- def set_variables_from_yaml
341
+ # Need to consider how to have an alternative yaml environment.
342
+ def set_variables_from_yaml(alternate_environment = "")
343
+
344
+ if alternate_environment
345
+ yaml_env = alternate_environment
346
+ else
347
+ yaml_env = rails_env
348
+ end
314
349
 
315
350
  unless File.exists?("config/recipiez.yml")
316
351
  raise StandardError, "You need a config/recipiez.yml file which defines the database syncing settings. Run recipiez:generate_config"
317
352
  end
318
353
 
319
354
  global = YAML.load_file("config/recipiez.yml")
320
- app_config = global[rails_env]
355
+ app_config = global[yaml_env]
321
356
  app_config.each_pair do |key, value|
322
357
  set key.to_sym, value
323
358
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 6
8
- - 11
9
- version: 0.6.11
8
+ - 12
9
+ version: 0.6.12
10
10
  platform: ruby
11
11
  authors:
12
12
  - Alastair Brunton
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2014-06-22 00:00:00 +02:00
17
+ date: 2014-07-15 00:00:00 +02:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency