backhoe 0.1.0 → 0.2.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/.gitignore +2 -0
- data/lib/backhoe.rb +15 -10
- data/lib/backhoe/version.rb +1 -1
- metadata +2 -3
- data/Gemfile.lock +0 -35
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d019d5b66f418151f88ebf3d897d0272a32d173e
|
4
|
+
data.tar.gz: f6e7f9c5df280e9730f6d48da8b37d756d54165e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6750d9c40ce7993f43a5a14b183833d533a475adbab48d249f7f7ac6295ef81fac6e5f046c676166d4a75cb38a8c3f5eafe9895695525813131ee1081bdd51f5
|
7
|
+
data.tar.gz: 14f0271c2c51661fd1822655bfb15c47c2eba52ac878cbd5b097be601876c86d470b79610cb3bddb0fc4737d9289b29cd8b9054de24230ce27c8f3b8e37ecfe7
|
data/.gitignore
CHANGED
data/lib/backhoe.rb
CHANGED
@@ -6,19 +6,18 @@ module Backhoe
|
|
6
6
|
mattr_accessor(:file_path) { "db/data.sql" }
|
7
7
|
|
8
8
|
class << self
|
9
|
-
def dump
|
10
|
-
autodetect_adapter.dump
|
9
|
+
def dump file_path: Backhoe.file_path, **options
|
10
|
+
autodetect_adapter.new(database_config, file_path).dump **options
|
11
11
|
end
|
12
12
|
|
13
|
-
def load
|
14
|
-
autodetect_adapter.load
|
13
|
+
def load file_path: Backhoe.file_path
|
14
|
+
autodetect_adapter.new(database_config, file_path).load
|
15
15
|
end
|
16
16
|
|
17
17
|
private
|
18
18
|
|
19
19
|
def autodetect_adapter
|
20
|
-
|
21
|
-
klass.new(database_config, file_path)
|
20
|
+
const_get(database_config["adapter"].camelize)
|
22
21
|
end
|
23
22
|
|
24
23
|
def database_config
|
@@ -37,10 +36,10 @@ module Backhoe
|
|
37
36
|
end
|
38
37
|
|
39
38
|
class Mysql < Base
|
40
|
-
def dump
|
39
|
+
def dump skip_tables: []
|
41
40
|
mysqldump = `which mysqldump`.strip
|
42
41
|
raise RuntimeError, "Cannot find mysqldump." if mysqldump.blank?
|
43
|
-
sh "#{mysqldump} --no-create-db --single-transaction --quick -e #{mysql_options} > #{file_path}"
|
42
|
+
sh "#{mysqldump} --no-create-db --single-transaction --quick -e #{skip_table_options(skip_tables)} #{mysql_options} > #{file_path}"
|
44
43
|
end
|
45
44
|
|
46
45
|
def load
|
@@ -50,6 +49,12 @@ module Backhoe
|
|
50
49
|
end
|
51
50
|
|
52
51
|
private
|
52
|
+
|
53
|
+
def skip_table_options skip_tables
|
54
|
+
skip_tables.map do |table|
|
55
|
+
"--ignore-table=#{config["database"]}.#{table}"
|
56
|
+
end.join(" ")
|
57
|
+
end
|
53
58
|
|
54
59
|
def mysql_options
|
55
60
|
options = " -u #{config["username"]}"
|
@@ -63,7 +68,7 @@ module Backhoe
|
|
63
68
|
Mysql2 = Mysql
|
64
69
|
|
65
70
|
class Sqlite3 < Base
|
66
|
-
def dump
|
71
|
+
def dump **_
|
67
72
|
FileUtils.cp database, file_path
|
68
73
|
end
|
69
74
|
|
@@ -73,7 +78,7 @@ module Backhoe
|
|
73
78
|
end
|
74
79
|
|
75
80
|
class Postgresql < Base
|
76
|
-
def dump
|
81
|
+
def dump **_
|
77
82
|
pg_dump = `which pg_dump`.strip
|
78
83
|
raise RuntimeError, "Cannot find pg_dump." if pg_dump.blank?
|
79
84
|
sh "#{pg_dump} -c -f#{file_path} #{database}"
|
data/lib/backhoe/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: backhoe
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Micah Geisel
|
@@ -63,7 +63,6 @@ files:
|
|
63
63
|
- ".rspec"
|
64
64
|
- ".travis.yml"
|
65
65
|
- Gemfile
|
66
|
-
- Gemfile.lock
|
67
66
|
- LICENSE.txt
|
68
67
|
- README.md
|
69
68
|
- Rakefile
|
@@ -92,7 +91,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
92
91
|
version: '0'
|
93
92
|
requirements: []
|
94
93
|
rubyforge_project:
|
95
|
-
rubygems_version: 2.6.
|
94
|
+
rubygems_version: 2.6.14
|
96
95
|
signing_key:
|
97
96
|
specification_version: 4
|
98
97
|
summary: Dump and load current database to and from a file.
|
data/Gemfile.lock
DELETED
@@ -1,35 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
backhoe (0.1.0)
|
5
|
-
|
6
|
-
GEM
|
7
|
-
remote: https://rubygems.org/
|
8
|
-
specs:
|
9
|
-
diff-lcs (1.3)
|
10
|
-
rake (10.5.0)
|
11
|
-
rspec (3.7.0)
|
12
|
-
rspec-core (~> 3.7.0)
|
13
|
-
rspec-expectations (~> 3.7.0)
|
14
|
-
rspec-mocks (~> 3.7.0)
|
15
|
-
rspec-core (3.7.1)
|
16
|
-
rspec-support (~> 3.7.0)
|
17
|
-
rspec-expectations (3.7.0)
|
18
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
19
|
-
rspec-support (~> 3.7.0)
|
20
|
-
rspec-mocks (3.7.0)
|
21
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
22
|
-
rspec-support (~> 3.7.0)
|
23
|
-
rspec-support (3.7.1)
|
24
|
-
|
25
|
-
PLATFORMS
|
26
|
-
ruby
|
27
|
-
|
28
|
-
DEPENDENCIES
|
29
|
-
backhoe!
|
30
|
-
bundler (~> 1.16)
|
31
|
-
rake (~> 10.0)
|
32
|
-
rspec (~> 3.0)
|
33
|
-
|
34
|
-
BUNDLED WITH
|
35
|
-
1.16.1
|