schema-evolution-manager 0.9.52 → 0.9.53

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