pg_backup 0.2.2 → 0.3.0
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.
- checksums.yaml +4 -4
- data/README.md +28 -8
- data/lib/pg_backup/tasks/capistrano.rake +16 -0
- data/lib/pg_backup/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1c70029ab8d41020559601504b50cc231d68161d
|
4
|
+
data.tar.gz: c9e0a8194b4c28a0e4c0f5b0fb769286ca9406e7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1e21900d18019c6c667926f9cb55dd8d550b8a2691289f704e4c34251be108e97eaf529053b6bd9807a1a99a4d2f86a8e220e4aafb57fb453136041fcf563b28
|
7
|
+
data.tar.gz: 6a97f26e859b101dde40bbf3fc4e5f6351f4c7b4df44c524d1899caf9dbc9c365e7063a3d87be9920878973720648e60b393ec7a4fa6f568364181b41fd342e3
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
#
|
1
|
+
# pg_backup
|
2
2
|
|
3
3
|
## create and restore postgres dumps with capistrano
|
4
4
|
|
@@ -7,16 +7,16 @@
|
|
7
7
|
This gem adds rake tasks to your rails application for creating and restoring postgres dumps. The dumps are created with ```pg_dump``` and restored with ```pg_restore``` - these tools are included in a full postgres installation, but also available as standalone binaries (needed if your db is not located in the application server).
|
8
8
|
|
9
9
|
## Requirements
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
```
|
10
|
+
- rails >= 3
|
11
|
+
- capistrano (optional)
|
12
|
+
- postgresql with ```pg_dump``` and ```pg_restore``` binaries
|
14
13
|
|
15
14
|
## Installation
|
16
15
|
|
17
16
|
Add this line to your application's Gemfile:
|
18
17
|
|
19
18
|
```ruby
|
19
|
+
# Gemfile
|
20
20
|
gem 'pg_backup'
|
21
21
|
```
|
22
22
|
|
@@ -41,7 +41,8 @@ rake PG_DUMP_DIR=/my/dump/dir PG_DUMP_FILE=mydump.backup pg_backup:dump:load
|
|
41
41
|
(https://github.com/capistrano/capistrano)
|
42
42
|
|
43
43
|
add to your ```Capfile```
|
44
|
-
```
|
44
|
+
```ruby
|
45
|
+
# Capfile
|
45
46
|
require "pg_backup/integration/capistrano"
|
46
47
|
```
|
47
48
|
this adds some capistrano tasks
|
@@ -50,10 +51,17 @@ cap <env> pg_backup:dump:create # creates remote dump (from remote db) in rem
|
|
50
51
|
cap <env> pg_backup:dump:load # imports latest remote dump into remote db
|
51
52
|
cap <env> pg_backup:dump:download # downloads latest remote dump to local dir
|
52
53
|
cap <env> pg_backup:dump:upload # uploads latest local dump to remote dir
|
54
|
+
cap <env> pg_backup:dump:list # shows list of dumps in remote dir
|
53
55
|
```
|
54
56
|
|
55
|
-
|
57
|
+
**NOTE:** Ensure environment variable set in capistrano files (needed for pg_backup to use correct database).
|
58
|
+
```ruby
|
59
|
+
# staging.rb
|
60
|
+
set :environment, 'staging'
|
56
61
|
```
|
62
|
+
|
63
|
+
To overwrite dump directories in capistrano, place something like this in your ```deploy.rb``` or ```<stage>.rb```
|
64
|
+
```ruby
|
57
65
|
set :pg_backup_local_dump_dir, '/my/dump/dir'
|
58
66
|
set :pg_backup_remote_dump_dir, '/my/dump/dir'
|
59
67
|
```
|
@@ -63,10 +71,22 @@ set :pg_backup_remote_dump_dir, '/my/dump/dir'
|
|
63
71
|
|
64
72
|
add to your ```Capfile```
|
65
73
|
|
66
|
-
```
|
74
|
+
```ruby
|
75
|
+
# Capfile
|
67
76
|
require "pg_backup/integration/deploy_mate"
|
68
77
|
```
|
69
78
|
|
79
|
+
## Example usage
|
80
|
+
|
81
|
+
Create a dump on production server, download it, upload the dump to prestage and load it into prestage database
|
82
|
+
|
83
|
+
```
|
84
|
+
bundle exec cap production pg_backup:dump:create
|
85
|
+
bundle exec cap production pg_backup:dump:download
|
86
|
+
bundle exec cap prestage pg_backup:dump:upload
|
87
|
+
bundle exec cap prestage pg_backup:dump:load
|
88
|
+
```
|
89
|
+
|
70
90
|
## Credits
|
71
91
|
https://gist.github.com/hopsoft/56ba6f55fe48ad7f8b90
|
72
92
|
|
@@ -71,5 +71,21 @@ namespace :pg_backup do
|
|
71
71
|
end
|
72
72
|
end
|
73
73
|
end
|
74
|
+
|
75
|
+
desc "List remote db dumps"
|
76
|
+
task :list do
|
77
|
+
on roles(:app) do
|
78
|
+
within current_path do
|
79
|
+
with rails_env: fetch(:environment) do
|
80
|
+
if !test("[ -d #{shared_path}/#{fetch(:pg_backup_remote_dump_dir)} ]")
|
81
|
+
error "Folder '#{shared_path}/#{fetch(:pg_backup_remote_dump_dir)}' does not exits!"
|
82
|
+
else
|
83
|
+
info "List of dumps in '#{shared_path}/#{fetch(:pg_backup_remote_dump_dir)}'"
|
84
|
+
execute "ls -lh #{shared_path}/#{fetch(:pg_backup_remote_dump_dir)}"
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
74
90
|
end
|
75
91
|
end
|
data/lib/pg_backup/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pg_backup
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marcus Geissler
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-02-
|
11
|
+
date: 2017-02-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -96,7 +96,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
96
96
|
version: '0'
|
97
97
|
requirements: []
|
98
98
|
rubyforge_project:
|
99
|
-
rubygems_version: 2.5.1
|
99
|
+
rubygems_version: 2.4.5.1
|
100
100
|
signing_key:
|
101
101
|
specification_version: 4
|
102
102
|
summary: Create, restore, download and upload postgres dumps locally and on remote
|