eycap 0.5.15 → 0.5.16

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,7 @@
1
+ == 0.5.16 / 2011-04-08
2
+ * Added improvement for postgres db:clone_to_local recipe.
3
+ * Added correct requirement and symlink changes for resque recipe.
4
+
1
5
  == 0.5.15 / 2011-04-08
2
6
  * Added mysql2 support for database clone recipes.
3
7
 
data/lib/eycap/recipes.rb CHANGED
@@ -18,6 +18,7 @@ require 'eycap/recipes/apache'
18
18
  require 'eycap/recipes/bundler'
19
19
  require 'eycap/recipes/ssl'
20
20
  require 'eycap/recipes/delayed_job'
21
+ require 'eycap/recipes/resque'
21
22
 
22
23
  Capistrano::Configuration.instance(:must_exist).load do
23
24
  default_run_options[:pty] = true if respond_to?(:default_run_options)
@@ -1,3 +1,5 @@
1
+ require 'erb'
2
+
1
3
  Capistrano::Configuration.instance(:must_exist).load do
2
4
 
3
5
  namespace :db do
@@ -7,7 +9,7 @@ Capistrano::Configuration.instance(:must_exist).load do
7
9
  backup_time = [now.year,now.month,now.day,now.hour,now.min,now.sec].join('-')
8
10
  set :backup_file, "#{shared_path}/db_backups/#{environment_database}-snapshot-#{backup_time}.sql"
9
11
  end
10
-
12
+
11
13
  desc "Clone Production Database to Staging Database."
12
14
  task :clone_prod_to_staging, :roles => :db, :only => { :primary => true } do
13
15
 
@@ -30,7 +32,7 @@ Capistrano::Configuration.instance(:must_exist).load do
30
32
  end
31
33
  run "rm -f #{backup_file}.gz"
32
34
  end
33
-
35
+
34
36
  desc "Backup your MySQL or PostgreSQL database to shared_path+/db_backups"
35
37
  task :dump, :roles => :db, :only => {:primary => true} do
36
38
  backup_name unless exists?(:backup_file)
@@ -40,7 +42,7 @@ Capistrano::Configuration.instance(:must_exist).load do
40
42
  if ['mysql', 'mysql2'].include? @environment_info['adapter']
41
43
  dbhost = @environment_info['host']
42
44
  if rails_env == "production"
43
- dbhost = environment_dbhost.sub('-master', '') + '-replica' if dbhost != 'localhost' # added for Solo offering, which uses localhost
45
+ dbhost = environment_dbhost.sub('-master', '') + '-replica' if dbhost != 'localhost' # added for Solo offering, which uses localhost
44
46
  end
45
47
  run "mysqldump --add-drop-table -u #{dbuser} -h #{dbhost} -p #{environment_database} | gzip -c > #{backup_file}.gz" do |ch, stream, out |
46
48
  ch.send_data "#{dbpass}\n" if out=~ /^Enter password:/
@@ -51,21 +53,26 @@ Capistrano::Configuration.instance(:must_exist).load do
51
53
  end
52
54
  end
53
55
  end
54
-
56
+
55
57
  desc "Sync your production database to your local workstation"
56
58
  task :clone_to_local, :roles => :db, :only => {:primary => true} do
57
59
  backup_name unless exists?(:backup_file)
58
60
  dump
59
61
  get "#{backup_file}.gz", "/tmp/#{application}.sql.gz"
60
- development_info = YAML.load_file("config/database.yml")['development']
62
+ development_info = YAML.load(ERB.new(File.read('config/database.yml')).result)['development']
63
+
61
64
  if ['mysql', 'mysql2'].include? development_info['adapter']
62
65
  run_str = "gunzip < /tmp/#{application}.sql.gz | mysql -u #{development_info['username']} --password='#{development_info['password']}' -h #{development_info['host']} #{development_info['database']}"
63
66
  else
64
- run_str = "PGPASSWORD=#{development_info['password']} gunzip < /tmp/#{application}.sql.gz | psql -U #{development_info['username']} -h #{development_info['host']} #{development_info['database']}"
67
+ run_str = ""
68
+ run_str += "PGPASSWORD=#{development_info['password']} " if development_info['password']
69
+ run_str += "gunzip < /tmp/#{application}.sql.gz | psql -U #{development_info['username']} "
70
+ run_str += "-h #{development_info['host']} " if development_info['host']
71
+ run_str += development_info['database']
65
72
  end
66
73
  %x!#{run_str}!
67
74
  run "rm -f #{backup_file}.gz"
68
75
  end
69
76
  end
70
77
 
71
- end
78
+ end
@@ -11,7 +11,7 @@ Capistrano::Configuration.instance(:must_exist).load do
11
11
  task :symlink, :roles => [:app], :only => {:resque => true} do
12
12
  run "if [ -f #{shared_path}/config/resque.yml ]; then ln -nfs #{shared_path}/config/resque.yml #{latest_release}/config/resque.yml; fi"
13
13
  end
14
- after "deploy:update_code", "resque:symlink"
14
+ after "deploy:symlink_configs", "resque:symlink"
15
15
  end
16
16
 
17
17
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eycap
3
3
  version: !ruby/object:Gem::Version
4
- hash: 21
4
+ hash: 43
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 5
9
- - 15
10
- version: 0.5.15
9
+ - 16
10
+ version: 0.5.16
11
11
  platform: ruby
12
12
  authors:
13
13
  - Engine Yard