engineyard-eycap 0.4.1 → 0.4.2

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.
data/History.txt CHANGED
@@ -1,3 +1,9 @@
1
+ == 0.4.2 / 2009-02-11
2
+ * added condition to determine if the db:dump command is run against our
3
+ traditional offering or the new cloud offering
4
+ * fixed bug where if a production db host name doesn't have a -master at the
5
+ end it won't run the db:clone_prod_to_staging correctly
6
+
1
7
  == 0.4.1 / 2009-01-09
2
8
  * fixed bug for passenger:restart
3
9
 
data/README.txt CHANGED
@@ -10,6 +10,8 @@ Also included is a deployment strategy, :filtered_remote_cache, which speeds up
10
10
 
11
11
  * capistrano (http://capify.org) > 2.0.0, but recommended with > 2.2.0
12
12
 
13
+ * NOTE: If you're using a git repository we recommend capistrano 2.5.3 and greater.
14
+
13
15
  == INSTALL:
14
16
 
15
17
  $ gem sources -a http://gems.github.com/ (you only need to do this once)
@@ -13,13 +13,20 @@ Capistrano::Configuration.instance(:must_exist).load do
13
13
  backup_name
14
14
  on_rollback { run "rm -f #{backup_file}" }
15
15
  run("cat #{shared_path}/config/database.yml") { |channel, stream, data| @environment_info = YAML.load(data)[rails_env] }
16
- if @environment_info['adapter'] == 'mysql'
16
+ if @environment_info['adapter'] == 'mysql' && production_dbhost.scan('-master') == true
17
17
  run "mysqldump --add-drop-table -u #{dbuser} -h #{production_dbhost.gsub('-master', '-replica')} #{production_database} -p > #{backup_file}" do |ch, stream, out|
18
18
  ch.send_data "#{dbpass}\n" if out=~ /^Enter password:/
19
19
  end
20
20
  run "mysql -u #{dbuser} -p -h #{staging_dbhost} #{staging_database} < #{backup_file}" do |ch, stream, out|
21
21
  ch.send_data "#{dbpass}\n" if out=~ /^Enter password:/
22
22
  end
23
+ elsif @environment_info['adapter'] == 'mysql' && production_dbhost.scan('-master') != true
24
+ run "mysqldump --add-drop-table -u #{dbuser} -h #{production_dbhost + '-replica'} #{production_database} -p > #{backup_file}" do |ch, stream, out|
25
+ ch.send_data "#{dbpass}\n" if out=~ /^Enter password:/
26
+ end
27
+ run "mysql -u #{dbuser} -p -h #{staging_dbhost} #{staging_database} < #{backup_file}" do |ch, stream, out|
28
+ ch.send_data "#{dbpass}\n" if out=~ /^Enter password:/
29
+ end
23
30
  else
24
31
  run "pg_dump -W -c -U #{dbuser} -h #{production_dbhost} -f #{backup_file} #{production_database}" do |ch, stream, out|
25
32
  ch.send_data "#{dbpass}\n" if out=~ /^Password:/
@@ -35,10 +42,14 @@ Capistrano::Configuration.instance(:must_exist).load do
35
42
  task :dump, :roles => :db, :only => {:primary => true} do
36
43
  backup_name
37
44
  run("cat #{shared_path}/config/database.yml") { |channel, stream, data| @environment_info = YAML.load(data)[rails_env] }
38
- if @environment_info['adapter'] == 'mysql'
45
+ if @environment_info['adapter'] == 'mysql' && @environment_info['host'] != 'localhost' # For traditional offering
39
46
  run "mysqldump --add-drop-table -u #{dbuser} -h #{environment_dbhost.gsub('-master', '-replica')} -p #{environment_database} | bzip2 -c > #{backup_file}.bz2" do |ch, stream, out |
40
47
  ch.send_data "#{dbpass}\n" if out=~ /^Enter password:/
41
48
  end
49
+ elsif @environment_info['adapter'] == 'mysql' && @environment_info['host'] == 'localhost' # For Solo offering
50
+ run "mysqldump --add-drop-table -u #{sql_user} -h localhost -p #{sql_pass} | bzip2 -c > #{backup_file}.bz2" do |ch, stream, out |
51
+ ch.send_data "#{sql_pass}\n" if out=~ /^Enter password:/
52
+ end
42
53
  else
43
54
  run "pg_dump -W -c -U #{dbuser} -h #{environment_dbhost} #{environment_database} | bzip2 -c > #{backup_file}.bz2" do |ch, stream, out |
44
55
  ch.send_data "#{dbpass}\n" if out=~ /^Password:/
data/lib/eycap.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Eycap
2
- VERSION = '0.4.1'
2
+ VERSION = '0.4.2'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: engineyard-eycap
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Engine Yard