schema-evolution-manager 0.9.52 → 0.9.53
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/README.md +1 -1
- data/bin/sem-apply +3 -3
- data/lib/schema-evolution-manager/apply_util.rb +26 -4
- data/lib/schema-evolution-manager/args.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0d5bef9063ede01772251882e1ff8652bda678ec8401a3344e706f303b48c420
|
4
|
+
data.tar.gz: 0ad47d946818ce331acc713730a8e456a7a8948823d8e40cc2b7e55936bc9e6c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 707c14f6b932b1c7e02da6b40ae385d12006355afedbbe275213b8eea8092b7d01187ab046d38578c5719d2fa39ac2f78fcf83677cee324b66f655ea41dde389
|
7
|
+
data.tar.gz: 83f0713085aa02e47f80136da6b61ad8679af7a36650d36d40236e77a0d6b4946f1767c23f716552b08db9d1d5e1f3ee062d1a32a905b20c09c0eee539f2a7ef
|
data/README.md
CHANGED
@@ -133,7 +133,7 @@ There are three ways to install schema evolution manager:
|
|
133
133
|
|
134
134
|
git clone git@github.com:mbryzek/schema-evolution-manager.git
|
135
135
|
cd schema-evolution-manager
|
136
|
-
git checkout 0.9.
|
136
|
+
git checkout 0.9.53
|
137
137
|
ruby ./configure.rb
|
138
138
|
sudo ./install.rb
|
139
139
|
|
data/bin/sem-apply
CHANGED
@@ -15,7 +15,7 @@ require 'tempfile'
|
|
15
15
|
|
16
16
|
load File.join(File.dirname(__FILE__), 'sem-config')
|
17
17
|
|
18
|
-
args = SchemaEvolutionManager::Args.from_stdin(:optional => %w(url host port name user dry_run password set))
|
18
|
+
args = SchemaEvolutionManager::Args.from_stdin(:optional => %w(url host port name user dry_run non_interactive password set))
|
19
19
|
|
20
20
|
password = if args.password
|
21
21
|
SchemaEvolutionManager::Ask.for_password("Please enter your password: ")
|
@@ -24,11 +24,11 @@ password = if args.password
|
|
24
24
|
end
|
25
25
|
|
26
26
|
db = SchemaEvolutionManager::Db.from_args(args, :password => password)
|
27
|
-
util = SchemaEvolutionManager::ApplyUtil.new(db, :dry_run => args.dry_run || false)
|
27
|
+
util = SchemaEvolutionManager::ApplyUtil.new(db, :dry_run => args.dry_run || false, :non_interactive => args.non_interactive || false)
|
28
28
|
|
29
29
|
begin
|
30
30
|
db.bootstrap!
|
31
|
-
|
31
|
+
|
32
32
|
puts "Upgrading schema for #{db.url}"
|
33
33
|
count = util.apply!("./scripts")
|
34
34
|
if count == 0
|
@@ -8,6 +8,11 @@ module SchemaEvolutionManager
|
|
8
8
|
@dry_run = true
|
9
9
|
end
|
10
10
|
|
11
|
+
@non_interactive = opts.delete(:non_interactive)
|
12
|
+
if @non_interactive.nil?
|
13
|
+
@non_interactive = false
|
14
|
+
end
|
15
|
+
|
11
16
|
@db = Preconditions.assert_class(db, Db)
|
12
17
|
@scripts = Scripts.new(@db, Scripts::SCRIPTS)
|
13
18
|
end
|
@@ -16,14 +21,32 @@ module SchemaEvolutionManager
|
|
16
21
|
@dry_run
|
17
22
|
end
|
18
23
|
|
24
|
+
def non_interactive?
|
25
|
+
@non_interactive
|
26
|
+
end
|
27
|
+
|
19
28
|
# Applies scripts in order, returning number of scripts applied
|
20
29
|
def apply!(dir)
|
21
30
|
Preconditions.check_state(File.directory?(dir),
|
22
31
|
"Dir[%s] does not exist" % dir)
|
23
32
|
|
24
|
-
|
33
|
+
pending_scripts = []
|
25
34
|
@scripts.each_pending(dir) do |filename, path|
|
26
|
-
|
35
|
+
pending_scripts << [filename, path]
|
36
|
+
end
|
37
|
+
|
38
|
+
if pending_scripts.size > 1 && !dry_run? && !non_interactive?
|
39
|
+
puts "Please confirm that you would like to apply all (#{pending_scripts.size}) of the pending scripts:"
|
40
|
+
pending_scripts.each do |filename, path|
|
41
|
+
puts " #{filename}"
|
42
|
+
end
|
43
|
+
continue = SchemaEvolutionManager::Ask.for_boolean("Continue?")
|
44
|
+
if !continue
|
45
|
+
return 0
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
pending_scripts.each do |filename, path|
|
27
50
|
if @dry_run
|
28
51
|
puts "[DRY RUN] Applying #{filename}"
|
29
52
|
puts path
|
@@ -35,9 +58,8 @@ module SchemaEvolutionManager
|
|
35
58
|
puts " Done"
|
36
59
|
end
|
37
60
|
end
|
38
|
-
|
61
|
+
pending_scripts.size
|
39
62
|
end
|
40
63
|
|
41
64
|
end
|
42
|
-
|
43
65
|
end
|
@@ -67,7 +67,7 @@ module SchemaEvolutionManager
|
|
67
67
|
@set = found_arguments.delete(:set) || []
|
68
68
|
|
69
69
|
@dry_run = found_arguments.delete(:dry_run)
|
70
|
-
@
|
70
|
+
@non_interactive = found_arguments.delete(:non_interactive)
|
71
71
|
@password = found_arguments.delete(:password)
|
72
72
|
@help = found_arguments.delete(:help)
|
73
73
|
@verbose = found_arguments.delete(:verbose)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: schema-evolution-manager
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.53
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Bryzek
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-07-
|
11
|
+
date: 2024-07-10 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: '["Michael Bryzek"]'
|
14
14
|
email: mbryzek@alum.mit.edu
|