capones_recipes 0.2.4 → 0.2.5

Sign up to get free protection for your applications and to get access to all the features.
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"