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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b35e8a63c7ed763489dbccec6767f4bfe1156606991c542c695bac35c7229a81
4
- data.tar.gz: 817b93f9201497de8de5fcb77c108ab3cf4c2adac40a19e6f7c55440dcdddc02
3
+ metadata.gz: 0d5bef9063ede01772251882e1ff8652bda678ec8401a3344e706f303b48c420
4
+ data.tar.gz: 0ad47d946818ce331acc713730a8e456a7a8948823d8e40cc2b7e55936bc9e6c
5
5
  SHA512:
6
- metadata.gz: f7e186f73416103231a1d78c9a2407ac279f424c97e92a1124595b56b312b52f92dbfef2ee837b98e2f4b18c9f986be2edabd018c7a4501c6455d1e32eec7284
7
- data.tar.gz: e844602dd023854b5653f52b4a1b7239fd8a9e63ba6651ee974c48880a9ef64fdacf397e4e5aa99157a9772a54597b9384ce6a26a60c09577e997d4cc2941df0
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.52
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
- count = 0
33
+ pending_scripts = []
25
34
  @scripts.each_pending(dir) do |filename, path|
26
- count += 1
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
- count
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
- @non_interactice = found_arguments.delete(:non_interactive)
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.52
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-09 00:00:00.000000000 Z
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