Class: Convergence::Command::Dryrun
Instance Method Summary
collapse
#connector, #database_adapter, #dumper, #initialize, #logger, #sql_generator
Instance Method Details
#execute ⇒ Object
8
9
10
11
12
13
14
15
16
|
# File 'lib/convergence/command/dryrun.rb', line 8
def execute
validate!
current_dir_path = Pathname.new(@opts[:input]).realpath.dirname
input_tables = Convergence::DSL.parse(File.open(@opts[:input]).read, current_dir_path)
current_tables = dumper.dump
output_sql(input_tables, current_tables)
end
|
#output_diff(input_tables, current_tables) ⇒ Object
18
19
20
21
22
23
24
25
26
27
28
29
|
# File 'lib/convergence/command/dryrun.rb', line 18
def output_diff(input_tables, current_tables)
input_tables_without_default_parameter =
Convergence::DefaultParameter.remove_database_default_parameter(input_tables, database_adapter)
current_tables_without_default_parameter =
Convergence::DefaultParameter.remove_database_default_parameter(current_tables, database_adapter)
msg = Convergence::PrettyDiff
.new(current_tables_without_default_parameter, input_tables_without_default_parameter)
.output
logger.output(msg)
msg
end
|
#output_sql(input_tables, current_tables) ⇒ Object
31
32
33
34
35
36
37
38
39
40
|
# File 'lib/convergence/command/dryrun.rb', line 31
def output_sql(input_tables, current_tables)
msg = Convergence::Command::Apply
.new(@opts, config: @config)
.generate_sql(input_tables, current_tables)
.split("\n")
.map { |v| '# ' + v }
.join("\n")
logger.output(msg)
msg
end
|
#validate! ⇒ Object
3
4
5
6
|
# File 'lib/convergence/command/dryrun.rb', line 3
def validate!
fail ArgumentError.new('--config required') if @config.nil?
fail ArgumentError.new('--input required') unless @opts[:input]
end
|