dbagent 3.0.1 → 3.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 83e0e0288076dfd0fd510b52e780c7a34c9e8de1ffdc1d9108b8d681830f01b0
4
- data.tar.gz: 904ab0958ad02a32cc7544a82c9e7572fca476a8a2792e80e2dd68e4ea48c230
3
+ metadata.gz: 83e62569d42b3c020a5aadedf966a8508fa32fe657a07adffe0dc712e36344c5
4
+ data.tar.gz: 31c24c2bb2b5888846dd8bbeb2f17eddcf40894439df568188335bfd1abc342d
5
5
  SHA512:
6
- metadata.gz: c561e5bb29b6f0feca4e82c2df7b2e2ddfb96ce9c2ca6d7493170c78d064022f62d21c3f1740c56d0d39ef57488cb22579cb61283751cbc12a6ef488f54d9886
7
- data.tar.gz: 8146448e9a5390c822dadec4036f94bca80124a58d16086b4397188396254dd5533f46dec8d7db350b40ec111491b7b89afe2184d6b13bd271899c6ffb38092d
6
+ metadata.gz: 74994c047b77abceff18643b9dc5f48fb15a0ebb44afec1c53064396ea11418cc887e2ba7095de676f44c35269a33c33e93b0a041c179d61ed65b1ee6cd50a2f
7
+ data.tar.gz: 26c54890973d3553c358c9d848e6abc16b36a52d09bcb3f31d163881a8efee2debe73686331c7fd0c328cac8d0f354faa335db6a638c1234e51f6bec1c99e67b
data/README.md CHANGED
@@ -1,3 +1,5 @@
1
+ [![Integration](https://github.com/enspirit/dbagent/actions/workflows/integration.yml/badge.svg?branch=master)](https://github.com/enspirit/dbagent/actions/workflows/integration.yml)
2
+
1
3
  # DbAgent, a ruby tool to migrate, spy and seed relational databases
2
4
 
3
5
  DbAgent helps managing a relational database lifecyle through three main tools:
@@ -63,4 +63,4 @@ module DbAgent
63
63
  end
64
64
  end # class PostgreSQL
65
65
  end # module DbHandler
66
- end # module DbAgent
66
+ end # module DbAgent
@@ -97,7 +97,7 @@ module DbAgent
97
97
  PostgreSQL.new(options)
98
98
  when 'mssql'
99
99
  MSSQL.new(options)
100
- when 'mysql'
100
+ when /mysql/
101
101
  MySQL.new(options)
102
102
  else
103
103
  PostgreSQL.new(options)
@@ -8,6 +8,8 @@ module DbAgent
8
8
 
9
9
  def install(from)
10
10
  handler.sequel_db.transaction do
11
+ before_seeding!
12
+
11
13
  folder = handler.data_folder/from
12
14
 
13
15
  # load files in order
@@ -26,6 +28,8 @@ module DbAgent
26
28
  file = pairs[name]
27
29
  handler.sequel_db[name.to_sym].multi_insert(file.load)
28
30
  end
31
+
32
+ after_seeding!(folder)
29
33
  end
30
34
  end
31
35
 
@@ -86,6 +90,19 @@ module DbAgent
86
90
 
87
91
  private
88
92
 
93
+ def before_seeding!
94
+ file = handler.data_folder/"before_seeding.sql"
95
+ return unless file.exists?
96
+
97
+ handler.sequel_db.execute(file.read)
98
+ end
99
+
100
+ def after_seeding!(folder)
101
+ file = folder/"after_seeding.sql"
102
+ handler.sequel_db.execute(file.read) if file.exists?
103
+ after_seeding!(folder.parent) unless folder == handler.data_folder
104
+ end
105
+
89
106
  def merged_data(from)
90
107
  folder = handler.data_folder/from
91
108
  data = {}
@@ -1,6 +1,6 @@
1
1
  module DbAgent
2
2
 
3
3
  # Current version of DbAgent
4
- VERSION = "3.0.1"
4
+ VERSION = "3.2.1"
5
5
 
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dbagent
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.1
4
+ version: 3.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bernard Lambeau
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-08-24 00:00:00.000000000 Z
11
+ date: 2022-07-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sequel
@@ -86,14 +86,14 @@ dependencies:
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '0.18'
89
+ version: '0.20'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '0.18'
96
+ version: '0.20'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: net-ping
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -115,6 +115,9 @@ dependencies:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
117
  version: '2'
118
+ - - ">="
119
+ - !ruby/object:Gem::Version
120
+ version: 2.7.1
118
121
  type: :runtime
119
122
  prerelease: false
120
123
  version_requirements: !ruby/object:Gem::Requirement
@@ -122,6 +125,23 @@ dependencies:
122
125
  - - "~>"
123
126
  - !ruby/object:Gem::Version
124
127
  version: '2'
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ version: 2.7.1
131
+ - !ruby/object:Gem::Dependency
132
+ name: thin
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - "~>"
136
+ - !ruby/object:Gem::Version
137
+ version: '1'
138
+ type: :runtime
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - "~>"
143
+ - !ruby/object:Gem::Version
144
+ version: '1'
125
145
  - !ruby/object:Gem::Dependency
126
146
  name: bundler
127
147
  requirement: !ruby/object:Gem::Requirement
@@ -209,7 +229,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
209
229
  - !ruby/object:Gem::Version
210
230
  version: '0'
211
231
  requirements: []
212
- rubygems_version: 3.0.8
232
+ rubygems_version: 3.1.4
213
233
  signing_key:
214
234
  specification_version: 4
215
235
  summary: A tool to migrate, spy and seed relational databases.