bin/ridgepole in ridgepole-0.2.7 vs bin/ridgepole in ridgepole-0.2.8

- old
+ new

@@ -29,10 +29,18 @@ set_mode = proc do |m| raise 'More than one mode is specified' if mode mode = m end +def noop_migrate(delta) + puts <<-EOS +#{delta.script} + +#{delta.migrate(:noop => true).each_line.map {|i| "# #{i}"}.join} + EOS +end + ARGV.options do |opt| begin opt.on('-c', '--config CONF_OR_FILE') {|v| config = v } opt.on('-a', '--apply') { set_mode[:apply] } opt.on('-m', '--merge') { set_mode[:apply]; options[:merge] = true } @@ -82,10 +90,12 @@ config = File.read(config) if File.exist?(config) config = YAML.load(config) client = Ridgepole::Client.new(config, options) end + ActiveRecord::Base.logger = logger + case mode when :export if split logger.info('Export Schema') @@ -136,11 +146,13 @@ dsl = File.read(file) delta = client.diff(dsl, :path => file) if options[:dry_run] - puts delta.script if delta.differ? + if delta.differ? + noop_migrate(delta) + end else logger.verbose_info('# Update schema') delta.migrate end @@ -166,10 +178,10 @@ delta.migrate else logger.info('No change') end elsif delta.differ? - puts delta.script + noop_migrate(delta) exit_code = 1 end end rescue => e if options[:debug]