capones_recipes 0.5.3 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.5.3
1
+ 0.6.0
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{capones_recipes}
8
- s.version = "0.5.3"
8
+ s.version = "0.6.0"
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"]
@@ -69,6 +69,37 @@ Capistrano::Configuration.instance.load do
69
69
  logger.important "sync database from the stage '#{stage}' to local finished"
70
70
  end
71
71
 
72
+ desc <<-DESC
73
+ Syncs database from the selected mutli_stage environement to the local develoment environment.
74
+ The database credentials will be read from your local config/database.yml file and a copy of the
75
+ dump will be kept within the shared sync directory. The amount of backups that will be kept is
76
+ declared in the sync_backups variable and defaults to 5.
77
+ DESC
78
+ task :kuhsaft, :roles => :db, :only => { :primary => true } do
79
+ # Use production on non-multistage
80
+ set :stage, 'production' unless exists?(:stage)
81
+
82
+ filename = "database.kuhsaft.#{stage}.#{Time.now.strftime '%Y-%m-%d_%H:%M:%S'}.sql.bz2"
83
+ on_rollback { delete "#{shared_path}/sync/#{filename}" }
84
+
85
+ # Remote DB dump
86
+ username, password, database, host = remote_database_config(stage)
87
+ host_option = host ? "--host='#{host}'" : ""
88
+ run "mysqldump -u #{username} --password='#{password}' #{host_option} #{database} pages localized_pages contents assets tags taggings | bzip2 -9 > #{shared_path}/sync/#{filename}" do |channel, stream, data|
89
+ puts data
90
+ end
91
+ purge_old_backups "database"
92
+
93
+ # Download dump
94
+ download "#{shared_path}/sync/#{filename}", filename
95
+
96
+ # Local DB import
97
+ username, password, database, host = database_config('development')
98
+ system "bzip2 -d -c #{filename} | mysql -u #{username} --password='#{password}' #{database}; rm -f #{filename}"
99
+
100
+ logger.important "sync database from the stage '#{stage}' to local finished"
101
+ end
102
+
72
103
  desc <<-DESC
73
104
  Sync declared directories from the selected multi_stage environment to the local development
74
105
  environment. The synced directories must be declared as an array of Strings with the sync_directories
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: capones_recipes
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.5.3
5
+ version: 0.6.0
6
6
  platform: ruby
7
7
  authors:
8
8
  - Roman Simecek
@@ -162,7 +162,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
162
162
  requirements:
163
163
  - - ">="
164
164
  - !ruby/object:Gem::Version
165
- hash: -136346243150918746
165
+ hash: -4200710683689644275
166
166
  segments:
167
167
  - 0
168
168
  version: "0"