capones_recipes 0.2.4 → 0.2.5

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/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.4
1
+ 0.2.5
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{capones_recipes}
8
- s.version = "0.2.4"
8
+ s.version = "0.2.5"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Roman Simecek"]
@@ -3,89 +3,90 @@
3
3
  # Based on code from:
4
4
  # * http://snippets.aktagon.com/snippets/20-Capistrano-2-task-for-backing-up-your-MySQL-production-database-before-each-deployment
5
5
  # * http://www.martin-probst.com/blog/2007/11/20/mysql-backup-restore-task-for-capistrano/
6
+ Capistrano::Configuration.instance.load do
7
+ namespace :mysql do
8
+ task :backup, :roles => :import do
9
+ backup_dir ||= "#{deploy_to}/backups"
10
+ run "mkdir -p #{backup_dir}"
6
11
 
7
- namespace :mysql do
8
- task :backup, :roles => :import do
9
- backup_dir ||= "#{deploy_to}/backups"
10
- run "mkdir -p #{backup_dir}"
11
-
12
- filename = "#{backup_dir}/#{application}.dump.#{Time.now.strftime('%Y-%m-%d_%H-%M')}.sql.bz2"
13
- text = capture "cat #{deploy_to}/current/config/database.yml"
14
- yaml = YAML::load(text)
12
+ filename = "#{backup_dir}/#{application}.dump.#{Time.now.strftime('%Y-%m-%d_%H-%M')}.sql.bz2"
13
+ text = capture "cat #{deploy_to}/current/config/database.yml"
14
+ yaml = YAML::load(text)
15
15
 
16
- on_rollback { run "rm #{filename}" }
16
+ on_rollback { run "rm #{filename}" }
17
17
 
18
- logger.info "Backing up to #{filename}..."
19
- run "mysqldump -u #{yaml[rails_env]['username']} -p #{yaml[rails_env]['database']} -h #{yaml[rails_env]['host']}| bzip2 -c > #{filename}" do |ch, stream, out|
20
- if out =~ /^Enter password:/
21
- ch.send_data "#{yaml[rails_env]['password']}\n"
22
- else
23
- puts out
18
+ logger.info "Backing up to #{filename}..."
19
+ run "mysqldump -u #{yaml[rails_env]['username']} -p #{yaml[rails_env]['database']} -h #{yaml[rails_env]['host']}| bzip2 -c > #{filename}" do |ch, stream, out|
20
+ if out =~ /^Enter password:/
21
+ ch.send_data "#{yaml[rails_env]['password']}\n"
22
+ else
23
+ puts out
24
+ end
24
25
  end
25
- end
26
-
27
- run "ln -nfs #{filename} #{backup_dir}/#{application}.latest"
28
-
29
- logger.info "Backup successfull."
30
- end
31
-
32
- task :restore, :roles => :import do
33
- backup_dir ||= "#{deploy_to}/backups"
34
26
 
35
- filename = "#{backup_dir}/#{application}.latest"
36
- text = capture "cat #{deploy_to}/current/config/database.yml"
37
- yaml = YAML::load(text)
27
+ run "ln -nfs #{filename} #{backup_dir}/#{application}.latest"
38
28
 
39
- logger.info "Restoring from #{filename}..."
40
- run "bzip2 -d < #{filename} |mysql -u #{yaml[rails_env]['username']} -p#{yaml[rails_env]['password']} -h #{yaml[rails_env]['host']} #{yaml[rails_env]['database']}" do |ch, stream, out|
41
- puts out
29
+ logger.info "Backup successfull."
42
30
  end
43
-
44
- logger.info "Restore successfull."
45
- end
46
31
 
47
- namespace :sync do
48
- desc "Sync down the mysql db to local"
49
- task :down, :roles => :app do
50
- sync_dir ||= "#{deploy_to}/sync"
51
- run "mkdir -p #{sync_dir}"
32
+ task :restore, :roles => :import do
33
+ backup_dir ||= "#{deploy_to}/backups"
52
34
 
53
- filename = "#{application}.dump.#{Time.now.strftime('%Y-%m-%d_%H-%M')}.sql.bz2"
35
+ filename = "#{backup_dir}/#{application}.latest"
54
36
  text = capture "cat #{deploy_to}/current/config/database.yml"
55
37
  yaml = YAML::load(text)
56
- on_rollback { delete filename }
57
38
 
58
- # Remote DB dump
59
- run "mysqldump -u #{yaml[rails_env]['username']} -p #{yaml[rails_env]['database']} -h #{yaml[rails_env]['host']} | bzip2 -9 > #{sync_dir}/#{filename}" do |channel, stream, data|
60
- if data =~ /^Enter password:/
61
- channel.send_data "#{yaml[rails_env]['password']}\n"
62
- else
63
- puts data
64
- end
39
+ logger.info "Restoring from #{filename}..."
40
+ run "bzip2 -d < #{filename} |mysql -u #{yaml[rails_env]['username']} -p#{yaml[rails_env]['password']} -h #{yaml[rails_env]['host']} #{yaml[rails_env]['database']}" do |ch, stream, out|
41
+ puts out
65
42
  end
66
43
 
67
- # Download dump
68
- download "#{sync_dir}/#{filename}", filename
44
+ logger.info "Restore successfull."
45
+ end
46
+
47
+ namespace :sync do
48
+ desc "Sync down the mysql db to local"
49
+ task :down, :roles => :app do
50
+ sync_dir ||= "#{deploy_to}/sync"
51
+ run "mkdir -p #{sync_dir}"
52
+
53
+ filename = "#{application}.dump.#{Time.now.strftime('%Y-%m-%d_%H-%M')}.sql.bz2"
54
+ text = capture "cat #{deploy_to}/current/config/database.yml"
55
+ yaml = YAML::load(text)
56
+ on_rollback { delete filename }
57
+
58
+ # Remote DB dump
59
+ run "mysqldump -u #{yaml[rails_env]['username']} -p #{yaml[rails_env]['database']} -h #{yaml[rails_env]['host']} | bzip2 -9 > #{sync_dir}/#{filename}" do |channel, stream, data|
60
+ if data =~ /^Enter password:/
61
+ channel.send_data "#{yaml[rails_env]['password']}\n"
62
+ else
63
+ puts data
64
+ end
65
+ end
69
66
 
70
- run "rm #{sync_dir}/#{filename}"
67
+ # Download dump
68
+ download "#{sync_dir}/#{filename}", filename
71
69
 
72
- # Local DB import
73
- username, password, database = database_config('development')
74
- system "bzip2 -d -c #{filename} | mysql -u #{username} --password='#{password}' #{database}; rm -f #{filename}"
75
- system "rake db:migrate"
70
+ run "rm #{sync_dir}/#{filename}"
76
71
 
77
- logger.important "sync database from the stage '#{stage}' to local finished"
78
- end
72
+ # Local DB import
73
+ username, password, database = database_config('development')
74
+ system "bzip2 -d -c #{filename} | mysql -u #{username} --password='#{password}' #{database}; rm -f #{filename}"
75
+ system "rake db:migrate"
79
76
 
80
- #
81
- # Reads the database credentials from the local config/database.yml file
82
- # +db+ the name of the environment to get the credentials for
83
- # Returns username, password, database
84
- #
85
- def database_config(db)
86
- database = YAML::load_file('config/database.yml')
87
- return database["#{db}"]['username'], database["#{db}"]['password'], database["#{db}"]['database']
77
+ logger.important "sync database from the stage '#{stage}' to local finished"
78
+ end
79
+
80
+ #
81
+ # Reads the database credentials from the local config/database.yml file
82
+ # +db+ the name of the environment to get the credentials for
83
+ # Returns username, password, database
84
+ #
85
+ def database_config(db)
86
+ database = YAML::load_file('config/database.yml')
87
+ return database["#{db}"]['username'], database["#{db}"]['password'], database["#{db}"]['database']
88
+ end
88
89
  end
89
90
  end
90
-
91
91
  end
92
+
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: capones_recipes
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.2.4
5
+ version: 0.2.5
6
6
  platform: ruby
7
7
  authors:
8
8
  - Roman Simecek
@@ -166,7 +166,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
166
166
  requirements:
167
167
  - - ">="
168
168
  - !ruby/object:Gem::Version
169
- hash: -3291087319757660697
169
+ hash: -2800225073291337054
170
170
  segments:
171
171
  - 0
172
172
  version: "0"