capistrano-container-db 0.0.1 → 0.0.2
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/.gitignore +1 -0
- data/README.md +6 -1
- data/capistrano-container-db.gemspec +2 -2
- data/lib/capistrano/tasks/db.rb +5 -3
- data/lib/db/helper.rb +14 -0
- metadata +3 -4
- data/.DS_Store +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: accfd01a57b36bf5bf799394faceb69324eccafc
|
4
|
+
data.tar.gz: 6640b2e0187000c2dac210ab71fe85865845eabb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 56d167b94712f52aad9e3bab2d01042121ad4a75b04241417e62487ee7e911958b2c65359aa075dc4eb886b2c38c1765fbcb256edd2d48f266ad27af92fefe9e
|
7
|
+
data.tar.gz: 34e9c0f0860637e94d052e6d705c87d1a22f3e837000e78b26dab1931c777490eb6b9697175d51a13611b8e87e2fe39810879038fbbdcd7c0fe397a2519ebaed
|
data/.gitignore
CHANGED
data/README.md
CHANGED
@@ -74,13 +74,18 @@ set :db_remote_dump, '/tmp/dump.sql'
|
|
74
74
|
set :db_local_dump, 'config/db/dump.sql'
|
75
75
|
set :db_is_container, false
|
76
76
|
set :db_container_name, 'db'
|
77
|
+
set :local_stage_name, :local
|
78
|
+
set :filter_on_import, lambda{ |sql_dump| return sql_dump }
|
77
79
|
```
|
78
80
|
|
79
81
|
## TODO
|
80
|
-
* Implement
|
82
|
+
* Implement adapter pattern for other db engines.
|
81
83
|
* Write tests.
|
82
84
|
|
83
85
|
## Changes
|
86
|
+
### Version 0.0.2
|
87
|
+
* autodetect local and remote container
|
88
|
+
|
84
89
|
### Version 0.0.1
|
85
90
|
* Initial release
|
86
91
|
|
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = 'capistrano-container-db'
|
7
|
-
spec.version = '0.0.
|
7
|
+
spec.version = '0.0.2'
|
8
8
|
spec.date = '2016-09-26'
|
9
9
|
spec.summary = 'Helps managing databases on local and remote stages, also on remote docker container'
|
10
10
|
spec.description = spec.summary
|
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.require_paths = ['lib']
|
20
20
|
|
21
21
|
spec.add_dependency 'capistrano', '>= 3.0.0.pre'
|
22
|
-
spec.add_dependency 'capistrano-container', '>= 0.0.
|
22
|
+
spec.add_dependency 'capistrano-container', '>= 0.0.5'
|
23
23
|
spec.add_development_dependency 'bundler', '~> 1.3'
|
24
24
|
spec.add_development_dependency 'rake', '~> 10.1'
|
25
25
|
end
|
data/lib/capistrano/tasks/db.rb
CHANGED
@@ -6,10 +6,10 @@ namespace :db do
|
|
6
6
|
desc "export a local, remote or remote container mysql db"
|
7
7
|
task :export do
|
8
8
|
on roles(:db, :container_host) do |host|
|
9
|
-
|
10
9
|
if fetch(:db_is_container)
|
10
|
+
raise 'huhu!'
|
11
11
|
DumpHelper::dump_on_container_and_download container_by_name(fetch(:db_container_name))
|
12
|
-
elsif
|
12
|
+
elsif Helper::local_stage?
|
13
13
|
DumpHelper::dump_on_local
|
14
14
|
else
|
15
15
|
DumpHelper::dump_on_server_and_download
|
@@ -24,7 +24,7 @@ namespace :db do
|
|
24
24
|
on roles(:db, :container_host) do
|
25
25
|
if fetch(:db_is_container)
|
26
26
|
LoadHelper::import_on_container container_by_name(fetch(:db_container_name))
|
27
|
-
elsif
|
27
|
+
elsif Helper::local_stage?
|
28
28
|
LoadHelper::import_on_local
|
29
29
|
else
|
30
30
|
LoadHelper::import_on_server
|
@@ -42,5 +42,7 @@ namespace :load do
|
|
42
42
|
set :db_local_dump, 'config/db/dump.sql'
|
43
43
|
set :db_is_container, false
|
44
44
|
set :db_container_name, 'db'
|
45
|
+
set :local_stage_name, :local
|
46
|
+
set :filter_on_import, lambda{ |sql_dump| return sql_dump }
|
45
47
|
end
|
46
48
|
end
|
data/lib/db/helper.rb
CHANGED
@@ -21,4 +21,18 @@ module Helper
|
|
21
21
|
|
22
22
|
FileUtils.cp(fetch(:db_local_dump), staged_file)
|
23
23
|
end
|
24
|
+
|
25
|
+
def self.local_stage?
|
26
|
+
fetch(:local_stage_name).to_sym == fetch(:stage).to_sym
|
27
|
+
end
|
28
|
+
|
29
|
+
def execute_local_or_remote(cmd)
|
30
|
+
if local_stage?
|
31
|
+
run_locally do
|
32
|
+
execute cmd
|
33
|
+
end
|
34
|
+
else
|
35
|
+
execute cmd
|
36
|
+
end
|
37
|
+
end
|
24
38
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capistrano-container-db
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tom Hanoldt
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.0.
|
33
|
+
version: 0.0.5
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.0.
|
40
|
+
version: 0.0.5
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: bundler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -74,7 +74,6 @@ executables: []
|
|
74
74
|
extensions: []
|
75
75
|
extra_rdoc_files: []
|
76
76
|
files:
|
77
|
-
- ".DS_Store"
|
78
77
|
- ".gitignore"
|
79
78
|
- Gemfile
|
80
79
|
- LICENSE
|
data/.DS_Store
DELETED
Binary file
|