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]