class SchemaEvolutionManager::BaselineUtil

Public Class Methods

new(db, opts={}) click to toggle source
# File lib/schema-evolution-manager/baseline_util.rb, line 5
def initialize(db, opts={})
  @dry_run = opts.delete(:dry_run)
  if @dry_run.nil?
    @dry_run = true
  end

  @db = Preconditions.assert_class(db, Db)
  @scripts = Scripts.new(@db, Scripts::SCRIPTS)
end

Public Instance Methods

apply!(dir) click to toggle source

Applies scripts in order, returning number of scripts applied

# File lib/schema-evolution-manager/baseline_util.rb, line 20
def apply!(dir)
  Preconditions.check_state(File.directory?(dir),
                            "Dir[%s] does not exist" % dir)

  count = 0
  @scripts.each_pending(dir) do |filename, path|
    count += 1
    if @dry_run
      puts "[DRY RUN] Baselining #{filename}"
      apply_dry_run(filename, path)
    else
      puts "Baselining #{filename}"
      apply_real(filename, path)
    end
  end
  count
end
dry_run?() click to toggle source
# File lib/schema-evolution-manager/baseline_util.rb, line 15
def dry_run?
  @dry_run
end

Private Instance Methods

apply_dry_run(filename, path) click to toggle source
# File lib/schema-evolution-manager/baseline_util.rb, line 39
def apply_dry_run(filename, path)
  puts path
  puts ""
end
apply_real(filename, path) click to toggle source
# File lib/schema-evolution-manager/baseline_util.rb, line 44
def apply_real(filename, path)
  @scripts.record_as_run!(filename)
end