dbagent 3.0.0 → 3.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 120c9311649f81fdc84a37b73f207105c4ad560008750418f0f1ea1e581d3b3f
4
- data.tar.gz: de68e2c53e6119d7df4099e7ae0aafa7beaed5ad1aeb656c2eca90a0e12d9bd0
3
+ metadata.gz: 55a5d65d0b652b002041aa6dd13f4c628f41e5a0467a5066d24943e8a20992e6
4
+ data.tar.gz: f260eddc19e7680a0eb8f8b601002f28a28126e301356af63c90ab5528ce52ef
5
5
  SHA512:
6
- metadata.gz: 5f7e584a37a4c74612bf15fd95c0218fd6e908fd85b8e913410eaaa7c1c22a360ad71033aeb71dfb72563e68bb0f237659fc45756f5a6542b440ccd4eb5d7590
7
- data.tar.gz: 6636ba62ddecbd1f39c731b36870b4908a0480d4e3d39da6a495947ba66d12802663c4626ae8d1f964652fce4450ad9a45f2b2162924ff62b4253adf6f8edde7
6
+ metadata.gz: 9fa72a760b5632e1d8f14d1b98b0042b17e37085f1e7da1d40d2c8f933b180a758d34aeb3a795823e7468838203e00478283b5e33b778be0b93191b1f976d912
7
+ data.tar.gz: f8ee68d78cd1e647a9f6d9df9361d2d4a27522c34c229f6fd434ae042da35ce6f838a051b0ec9d1b61385f134be6916889d2741f7837801eb1e71f454f071a0e
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
@@ -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 = {}
@@ -0,0 +1,6 @@
1
+ module DbAgent
2
+
3
+ # Current version of DbAgent
4
+ VERSION = "3.2.0"
5
+
6
+ end
@@ -21,13 +21,13 @@ module DbAgent
21
21
  end
22
22
 
23
23
  post '/seeds/install' do
24
- Seeder.new(settings.db_handler.sequel_db).install(request["id"])
24
+ Seeder.new(settings.db_handler).install(request["id"])
25
25
  "ok"
26
26
  end
27
27
 
28
28
  post '/seeds/flush' do
29
29
  seed_name = request["id"]
30
- Seeder.new(settings.db_handler.sequel_db).flush(request["id"])
30
+ Seeder.new(settings.db_handler).flush(request["id"])
31
31
  "ok"
32
32
  end
33
33
 
data/lib/db_agent.rb CHANGED
@@ -5,9 +5,7 @@ require 'sinatra'
5
5
  require 'bmg'
6
6
  require 'bmg/sequel'
7
7
  module DbAgent
8
-
9
- # Current version of DbAgent
10
- VERSION = "3.0.0"
8
+ require_relative 'db_agent/version'
11
9
 
12
10
  # Simply checks that a path exists of raise an error
13
11
  def self._!(path)
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.0
4
+ version: 3.2.0
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-17 00:00:00.000000000 Z
11
+ date: 2022-06-17 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
@@ -181,6 +201,7 @@ files:
181
201
  - lib/db_agent/db_handler/postgresql.rb
182
202
  - lib/db_agent/seeder.rb
183
203
  - lib/db_agent/table_orderer.rb
204
+ - lib/db_agent/version.rb
184
205
  - lib/db_agent/viewpoint.rb
185
206
  - lib/db_agent/viewpoint/base.rb
186
207
  - lib/db_agent/viewpoint/delegate.rb
@@ -208,7 +229,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
208
229
  - !ruby/object:Gem::Version
209
230
  version: '0'
210
231
  requirements: []
211
- rubygems_version: 3.0.8
232
+ rubygems_version: 3.1.4
212
233
  signing_key:
213
234
  specification_version: 4
214
235
  summary: A tool to migrate, spy and seed relational databases.