dbagent 3.0.0 → 3.2.0

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: 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.