ridgepole 0.7.3.beta → 0.7.3.beta2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (154) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +38 -0
  3. data/Appraisals +2 -2
  4. data/README.md +3 -9
  5. data/Rakefile +7 -1
  6. data/bin/ridgepole +97 -108
  7. data/gemfiles/activerecord_5.2.gemfile +1 -1
  8. data/lib/ridgepole/cli/config.rb +43 -43
  9. data/lib/ridgepole/client.rb +65 -63
  10. data/lib/ridgepole/default_limit.rb +26 -24
  11. data/lib/ridgepole/delta.rb +367 -369
  12. data/lib/ridgepole/diff.rb +366 -377
  13. data/lib/ridgepole/dsl_parser.rb +22 -20
  14. data/lib/ridgepole/dsl_parser/context.rb +95 -93
  15. data/lib/ridgepole/dsl_parser/table_definition.rb +125 -123
  16. data/lib/ridgepole/dumper.rb +73 -71
  17. data/lib/ridgepole/execute_expander.rb +55 -55
  18. data/lib/ridgepole/ext/abstract_mysql_adapter/dump_auto_increment.rb +3 -3
  19. data/lib/ridgepole/ext/abstract_mysql_adapter/use_alter_index.rb +1 -1
  20. data/lib/ridgepole/ext/pp_sort_hash.rb +14 -14
  21. data/lib/ridgepole/ext/schema_dumper.rb +1 -1
  22. data/lib/ridgepole/external_sql_executer.rb +20 -20
  23. data/lib/ridgepole/logger.rb +17 -15
  24. data/lib/ridgepole/migration_ext.rb +6 -8
  25. data/lib/ridgepole/schema_statements_ext.rb +3 -3
  26. data/lib/ridgepole/version.rb +1 -1
  27. data/ridgepole.gemspec +11 -10
  28. data/spec/cli_helper.rb +2 -2
  29. data/spec/erb_helper.rb +6 -2
  30. data/spec/hide_pending_formatter.rb +5 -4
  31. data/spec/mysql/_migrate/migrate_change_table_option_spec.rb +8 -8
  32. data/spec/mysql/bigint_pk/bigint_pk_spec.rb +8 -8
  33. data/spec/mysql/bigint_pk/int_pk_spec.rb +13 -13
  34. data/spec/mysql/cli/config_spec.rb +52 -53
  35. data/spec/mysql/cli/ridgepole_spec.rb +111 -111
  36. data/spec/mysql/collation/collation_spec.rb +39 -39
  37. data/spec/mysql/comment/comment_spec.rb +36 -36
  38. data/spec/mysql/default_lambda/default_lambda_spec.rb +30 -30
  39. data/spec/mysql/diff/diff2_spec.rb +18 -18
  40. data/spec/mysql/diff/diff_spec.rb +11 -11
  41. data/spec/mysql/dump/dump_class_method_spec.rb +2 -2
  42. data/spec/mysql/dump/dump_some_tables_spec.rb +14 -14
  43. data/spec/mysql/dump/dump_spec.rb +2 -2
  44. data/spec/mysql/dump/dump_unknown_column_type_spec.rb +3 -3
  45. data/spec/mysql/dump/dump_without_table_options_spec.rb +8 -8
  46. data/spec/mysql/fk/migrate_change_fk_spec.rb +40 -40
  47. data/spec/mysql/fk/migrate_create_fk_spec.rb +40 -40
  48. data/spec/mysql/fk/migrate_drop_fk_spec.rb +60 -60
  49. data/spec/mysql/migrate/check_orphan_index_spec.rb +6 -6
  50. data/spec/mysql/migrate/migrate_add_column2_spec.rb +43 -43
  51. data/spec/mysql/migrate/migrate_add_column_order_spec.rb +50 -50
  52. data/spec/mysql/migrate/migrate_add_column_spec.rb +11 -11
  53. data/spec/mysql/migrate/migrate_add_column_with_alter_extra_spec.rb +8 -8
  54. data/spec/mysql/migrate/migrate_add_column_with_script_spec.rb +11 -11
  55. data/spec/mysql/migrate/migrate_change_column2_spec.rb +20 -20
  56. data/spec/mysql/migrate/migrate_change_column3_spec.rb +60 -60
  57. data/spec/mysql/migrate/migrate_change_column4_spec.rb +16 -16
  58. data/spec/mysql/migrate/migrate_change_column5_spec.rb +24 -24
  59. data/spec/mysql/migrate/migrate_change_column6_spec.rb +40 -40
  60. data/spec/mysql/migrate/migrate_change_column7_spec.rb +4 -4
  61. data/spec/mysql/migrate/migrate_change_column8_spec.rb +9 -9
  62. data/spec/mysql/migrate/migrate_change_column_default_spec.rb +48 -48
  63. data/spec/mysql/migrate/migrate_change_column_float_spec.rb +16 -16
  64. data/spec/mysql/migrate/migrate_change_column_spec.rb +11 -11
  65. data/spec/mysql/migrate/migrate_change_index2_spec.rb +20 -20
  66. data/spec/mysql/migrate/migrate_change_index3_spec.rb +43 -43
  67. data/spec/mysql/migrate/migrate_change_index4_spec.rb +24 -24
  68. data/spec/mysql/migrate/migrate_change_index5_spec.rb +16 -16
  69. data/spec/mysql/migrate/migrate_change_index6_spec.rb +12 -12
  70. data/spec/mysql/migrate/migrate_change_index7_spec.rb +20 -20
  71. data/spec/mysql/migrate/migrate_change_index8_spec.rb +20 -20
  72. data/spec/mysql/migrate/migrate_change_index_spec.rb +17 -17
  73. data/spec/mysql/migrate/migrate_change_table_comment_spec.rb +10 -10
  74. data/spec/mysql/migrate/migrate_change_table_option_spec.rb +18 -18
  75. data/spec/mysql/migrate/migrate_check_relation_column_type_spec.rb +37 -37
  76. data/spec/mysql/migrate/migrate_create_index2_spec.rb +12 -12
  77. data/spec/mysql/migrate/migrate_create_index_spec.rb +11 -11
  78. data/spec/mysql/migrate/migrate_create_table_spec.rb +8 -8
  79. data/spec/mysql/migrate/migrate_create_table_with_index_spec.rb +6 -6
  80. data/spec/mysql/migrate/migrate_create_table_with_options_spec.rb +12 -12
  81. data/spec/mysql/migrate/migrate_create_table_with_script_spec.rb +11 -11
  82. data/spec/mysql/migrate/migrate_drop_column_and_index2_spec.rb +9 -9
  83. data/spec/mysql/migrate/migrate_drop_column_and_index_spec.rb +12 -12
  84. data/spec/mysql/migrate/migrate_drop_column_and_unique_index_spec.rb +10 -10
  85. data/spec/mysql/migrate/migrate_drop_column_spec.rb +11 -11
  86. data/spec/mysql/migrate/migrate_drop_index_spec.rb +11 -11
  87. data/spec/mysql/migrate/migrate_drop_table_spec.rb +8 -8
  88. data/spec/mysql/migrate/migrate_duplicate_index_spec.rb +6 -6
  89. data/spec/mysql/migrate/migrate_duplicate_table_spec.rb +6 -6
  90. data/spec/mysql/migrate/migrate_empty_spec.rb +4 -4
  91. data/spec/mysql/migrate/migrate_execute_spec.rb +55 -55
  92. data/spec/mysql/migrate/migrate_log_file_spec.rb +9 -9
  93. data/spec/mysql/migrate/migrate_merge_mode_spec.rb +9 -9
  94. data/spec/mysql/migrate/migrate_noop_spec.rb +19 -19
  95. data/spec/mysql/migrate/migrate_primary_key_spec.rb +18 -18
  96. data/spec/mysql/migrate/migrate_rename_column_spec.rb +17 -17
  97. data/spec/mysql/migrate/migrate_rename_table_spec.rb +26 -26
  98. data/spec/mysql/migrate/migrate_same_default_null_spec.rb +16 -16
  99. data/spec/mysql/migrate/migrate_same_spec.rb +4 -4
  100. data/spec/mysql/migrate/migrate_script_error_spec.rb +8 -8
  101. data/spec/mysql/migrate/migrate_skip_column_comment_change_spec.rb +8 -8
  102. data/spec/mysql/migrate/migrate_skip_drop_table_spec.rb +9 -9
  103. data/spec/mysql/migrate/migrate_skip_rename_column_spec.rb +8 -8
  104. data/spec/mysql/migrate/migrate_skip_rename_table_spec.rb +9 -9
  105. data/spec/mysql/migrate/migrate_with_ignore_tables_spec.rb +64 -64
  106. data/spec/mysql/migrate/migrate_with_pre_post_query_spec.rb +12 -12
  107. data/spec/mysql/migrate/migrate_with_tables_spec.rb +29 -29
  108. data/spec/mysql/migrate/migrate_with_verbose_log_spec.rb +18 -18
  109. data/spec/mysql/migrate_/migrate_create_index_with_alter_spec.rb +8 -8
  110. data/spec/mysql/migrate_/migrate_drop_index_with_alter_spec.rb +8 -8
  111. data/spec/mysql/text_blob_types/text_blob_types_spec.rb +8 -8
  112. data/spec/mysql/~default_name_fk/migrate_change_fk_spec.rb +12 -12
  113. data/spec/mysql/~default_name_fk/migrate_create_fk_spec.rb +30 -30
  114. data/spec/mysql/~default_name_fk/migrate_drop_fk_spec.rb +22 -22
  115. data/spec/mysql/~dump_auto_increment/migrate_create_table_with_index_spec.rb +7 -7
  116. data/spec/mysql57/json/add_json_column_spec.rb +8 -8
  117. data/spec/mysql57/json/change_json_column_spec.rb +24 -24
  118. data/spec/mysql57/json/drop_json_column_spec.rb +8 -8
  119. data/spec/mysql57/virtual/add_virtual_column_spec.rb +9 -9
  120. data/spec/mysql57/virtual/change_virtual_column_spec.rb +9 -9
  121. data/spec/mysql57/virtual/drop_virtual_column_spec.rb +9 -9
  122. data/spec/postgresql/diff/diff_spec.rb +18 -18
  123. data/spec/postgresql/dump/dump_spec.rb +2 -2
  124. data/spec/postgresql/fk/migrate_change_fk_spec.rb +24 -24
  125. data/spec/postgresql/fk/migrate_create_fk_spec.rb +40 -40
  126. data/spec/postgresql/fk/migrate_drop_fk_spec.rb +44 -44
  127. data/spec/postgresql/migrate/migrate_add_column_spec.rb +21 -21
  128. data/spec/postgresql/migrate/migrate_add_expression_index_spec.rb +2 -2
  129. data/spec/postgresql/migrate/migrate_bigint_spec.rb +12 -12
  130. data/spec/postgresql/migrate/migrate_change_column_default_spec.rb +8 -8
  131. data/spec/postgresql/migrate/migrate_change_column_spec.rb +19 -19
  132. data/spec/postgresql/migrate/migrate_change_index_spec.rb +13 -13
  133. data/spec/postgresql/migrate/migrate_check_relation_column_type_spec.rb +19 -19
  134. data/spec/postgresql/migrate/migrate_create_table_spec.rb +8 -8
  135. data/spec/postgresql/migrate/migrate_create_table_with_default_proc_spec.rb +18 -18
  136. data/spec/postgresql/migrate/migrate_drop_column_spec.rb +11 -11
  137. data/spec/postgresql/migrate/migrate_drop_column_with_index_spec.rb +12 -12
  138. data/spec/postgresql/migrate/migrate_drop_expression_index_spec.rb +8 -8
  139. data/spec/postgresql/migrate/migrate_drop_index_spec.rb +11 -11
  140. data/spec/postgresql/migrate/migrate_drop_table_spec.rb +8 -8
  141. data/spec/postgresql/migrate/migrate_ext_cols_spec.rb +8 -8
  142. data/spec/postgresql/migrate/migrate_primary_key_spec.rb +97 -0
  143. data/spec/postgresql/migrate/migrate_references_spec.rb +24 -24
  144. data/spec/postgresql/migrate/migrate_rename_column_spec.rb +11 -11
  145. data/spec/postgresql/migrate/migrate_rename_table_spec.rb +16 -16
  146. data/spec/postgresql/migrate/migrate_same_spec.rb +4 -4
  147. data/spec/postgresql/~default_name_fk/migrate_change_fk_spec.rb +12 -12
  148. data/spec/postgresql/~default_name_fk/migrate_create_fk_spec.rb +30 -30
  149. data/spec/postgresql/~default_name_fk/migrate_drop_fk_spec.rb +22 -22
  150. data/spec/processing_for_travis.rb +1 -1
  151. data/spec/spec_condition.rb +2 -2
  152. data/spec/spec_const.rb +9 -9
  153. data/spec/spec_helper.rb +21 -23
  154. metadata +54 -37
@@ -1,100 +1,102 @@
1
- class Ridgepole::Dumper
2
- def initialize(options = {})
3
- @options = options
4
- @logger = Ridgepole::Logger.instance
5
- end
1
+ module Ridgepole
2
+ class Dumper
3
+ def initialize(options = {})
4
+ @options = options
5
+ @logger = Ridgepole::Logger.instance
6
+ end
6
7
 
7
- def dump
8
- conn = ActiveRecord::Base.connection
9
- target_tables = @options[:tables]
10
- ignore_tables = @options[:ignore_tables]
8
+ def dump
9
+ conn = ActiveRecord::Base.connection
10
+ target_tables = @options[:tables]
11
+ ignore_tables = @options[:ignore_tables]
11
12
 
12
- if target_tables
13
- conn.data_sources.each do |tbl|
14
- next if target_tables.include?(tbl)
15
- ActiveRecord::SchemaDumper.ignore_tables << tbl
13
+ if target_tables
14
+ conn.data_sources.each do |tbl|
15
+ next if target_tables.include?(tbl)
16
+ ActiveRecord::SchemaDumper.ignore_tables << tbl
17
+ end
16
18
  end
17
- end
18
19
 
19
- if ignore_tables
20
- conn.data_sources.each do |tbl|
21
- if ignore_tables.any? {|i| i =~ tbl } and not (target_tables and target_tables.include?(tbl))
22
- ActiveRecord::SchemaDumper.ignore_tables << tbl
20
+ if ignore_tables
21
+ conn.data_sources.each do |tbl|
22
+ if ignore_tables.any? { |i| i =~ tbl } && !(target_tables && target_tables.include?(tbl))
23
+ ActiveRecord::SchemaDumper.ignore_tables << tbl
24
+ end
23
25
  end
24
26
  end
25
- end
26
27
 
27
- stream = dump_from(conn)
28
+ stream = dump_from(conn)
28
29
 
29
- if target_tables or ignore_tables
30
- ActiveRecord::SchemaDumper.ignore_tables.clear
31
- end
30
+ if target_tables || ignore_tables
31
+ ActiveRecord::SchemaDumper.ignore_tables.clear
32
+ end
32
33
 
33
- stream.string.lines.each_cons(2) do |first_line, second_line|
34
- if first_line =~ /\A# Could not dump/
35
- @logger.warn("[WARNING] #{first_line.sub(/\A# /, '').chomp}")
36
- @logger.warn(second_line.sub(/\A#/, '').chomp)
34
+ stream.string.lines.each_cons(2) do |first_line, second_line|
35
+ if first_line.start_with?('# Could not dump')
36
+ @logger.warn("[WARNING] #{first_line.sub(/\A# /, '').chomp}")
37
+ @logger.warn(second_line.sub(/\A#/, '').chomp)
38
+ end
37
39
  end
38
- end
39
40
 
40
- dsl = stream.string.lines.select do |line|
41
- line !~ /\A#/ &&
42
- line !~ /\AActiveRecord::Schema\.define/ &&
43
- line !~ /\Aend/
44
- end
41
+ dsl = stream.string.lines.select do |line|
42
+ line !~ /\A#/ &&
43
+ line !~ /\AActiveRecord::Schema\.define/ &&
44
+ line !~ /\Aend/
45
+ end
45
46
 
46
- dsl = dsl.join.strip_heredoc
47
+ dsl = dsl.join.strip_heredoc
47
48
 
48
- definitions = []
49
+ definitions = []
49
50
 
50
- each_table(dsl) do |name, definition|
51
- if target?(name)
52
- definitions << definition
53
- yield(name, definition) if block_given?
51
+ each_table(dsl) do |name, definition|
52
+ if target?(name)
53
+ definitions << definition
54
+ yield(name, definition) if block_given?
55
+ end
54
56
  end
55
- end
56
57
 
57
- definitions.join("\n\n")
58
- end
58
+ definitions.join("\n\n")
59
+ end
59
60
 
60
- private
61
+ private
61
62
 
62
- def each_table(dsl)
63
- name = nil
64
- definition = []
63
+ def each_table(dsl)
64
+ name = nil
65
+ definition = []
65
66
 
66
- pass = proc do
67
- if name
68
- yield(name, definition.join.strip)
69
- name = nil
70
- definition = []
67
+ pass = proc do
68
+ if name
69
+ yield(name, definition.join.strip)
70
+ name = nil
71
+ definition = []
72
+ end
71
73
  end
72
- end
73
74
 
74
- dsl.lines.each do |line|
75
- if line =~ /\Acreate_table/
76
- pass.call
77
- name = line.split(/[\s,'"]+/)[1]
78
- definition << line
79
- elsif name
80
- definition << line
75
+ dsl.lines.each do |line|
76
+ if line.start_with?('create_table')
77
+ pass.call
78
+ name = line.split(/[\s,'"]+/)[1]
79
+ definition << line
80
+ elsif name
81
+ definition << line
82
+ end
81
83
  end
82
- end
83
84
 
84
- pass.call
85
- end
85
+ pass.call
86
+ end
86
87
 
87
- def target?(table_name)
88
- not @options[:tables] or @options[:tables].include?(table_name)
89
- end
88
+ def target?(table_name)
89
+ !(@options[:tables]) || @options[:tables].include?(table_name)
90
+ end
90
91
 
91
- def dump_from(conn)
92
- stream = StringIO.new
93
- conn.without_table_options(@options[:dump_without_table_options]) do
94
- ActiveRecord::SchemaDumper.with_default_fk_name(@options[:dump_with_default_fk_name]) do
95
- ActiveRecord::SchemaDumper.dump(conn, stream)
92
+ def dump_from(conn)
93
+ stream = StringIO.new
94
+ conn.without_table_options(@options[:dump_without_table_options]) do
95
+ ActiveRecord::SchemaDumper.with_default_fk_name(@options[:dump_with_default_fk_name]) do
96
+ ActiveRecord::SchemaDumper.dump(conn, stream)
97
+ end
96
98
  end
99
+ stream
97
100
  end
98
- stream
99
101
  end
100
102
  end
@@ -1,61 +1,65 @@
1
- class Ridgepole::ExecuteExpander
2
- class Stub
3
- def method_missing(method_name, *args, &block)
4
- # Nothing to do
1
+ module Ridgepole
2
+ class ExecuteExpander
3
+ class Stub
4
+ def method_missing(_method_name, *_args, &_block)
5
+ # Nothing to do
6
+ end
7
+
8
+ def respond_to_missing?(_symbol, _include_private)
9
+ true
10
+ end
5
11
  end
6
- end
7
12
 
8
- module ConnectionAdapterExt
9
- def execute(sql, name = nil)
10
- if Ridgepole::ExecuteExpander.noop
11
- if (callback = Ridgepole::ExecuteExpander.callback)
12
- sql = append_alter_extra(sql)
13
- callback.call(sql, name)
14
- end
13
+ module ConnectionAdapterExt
14
+ def execute(sql, name = nil)
15
+ if Ridgepole::ExecuteExpander.noop
16
+ if (callback = Ridgepole::ExecuteExpander.callback)
17
+ sql = append_alter_extra(sql)
18
+ callback.call(sql, name)
19
+ end
15
20
 
16
- if sql =~ /\A(SELECT|SHOW)\b/i
17
- begin
18
- super(sql, name)
19
- rescue
21
+ if sql =~ /\A(SELECT|SHOW)\b/i
22
+ begin
23
+ super(sql, name)
24
+ rescue StandardError
25
+ Stub.new
26
+ end
27
+ else
20
28
  Stub.new
21
29
  end
22
- else
23
- Stub.new
24
- end
25
- elsif Ridgepole::ExecuteExpander.use_script
26
- if sql =~ /\A(SELECT|SHOW)\b/i
27
- super(sql, name)
30
+ elsif Ridgepole::ExecuteExpander.use_script
31
+ if sql =~ /\A(SELECT|SHOW)\b/i
32
+ super(sql, name)
33
+ else
34
+ sql = append_alter_extra(sql)
35
+ Ridgepole::ExecuteExpander.sql_executer.execute(sql)
36
+ nil
37
+ end
28
38
  else
29
39
  sql = append_alter_extra(sql)
30
- Ridgepole::ExecuteExpander.sql_executer.execute(sql)
31
- nil
40
+ super(sql, name)
32
41
  end
33
- else
34
- sql = append_alter_extra(sql)
35
- super(sql, name)
36
42
  end
37
- end
38
43
 
39
- private
44
+ private
40
45
 
41
- def append_alter_extra(sql)
42
- if Ridgepole::ExecuteExpander.alter_extra and sql =~ /\AALTER\b/i
43
- sql = sql + ',' + Ridgepole::ExecuteExpander.alter_extra
44
- end
46
+ def append_alter_extra(sql)
47
+ if Ridgepole::ExecuteExpander.alter_extra && sql =~ /\AALTER\b/i
48
+ sql = sql + ',' + Ridgepole::ExecuteExpander.alter_extra
49
+ end
45
50
 
46
- sql
51
+ sql
52
+ end
47
53
  end
48
- end
49
54
 
50
- cattr_accessor :noop, :instance_writer => false, :instance_reader => false
51
- cattr_accessor :callback, :instance_writer => false, :instance_reader => false
52
- cattr_accessor :use_script, :instance_writer => false, :instance_reader => false
53
- cattr_accessor :sql_executer, :instance_writer => false, :instance_reader => false
54
- cattr_accessor :alter_extra, :instance_writer => false, :instance_reader => false
55
+ cattr_accessor :noop, instance_writer: false, instance_reader: false
56
+ cattr_accessor :callback, instance_writer: false, instance_reader: false
57
+ cattr_accessor :use_script, instance_writer: false, instance_reader: false
58
+ cattr_accessor :sql_executer, instance_writer: false, instance_reader: false
59
+ cattr_accessor :alter_extra, instance_writer: false, instance_reader: false
55
60
 
56
- class << self
57
- def without_operation(callback = nil)
58
- begin
61
+ class << self
62
+ def without_operation(callback = nil)
59
63
  self.noop = true
60
64
  self.callback = callback
61
65
  yield
@@ -63,10 +67,8 @@ class Ridgepole::ExecuteExpander
63
67
  self.noop = false
64
68
  self.callback = nil
65
69
  end
66
- end
67
70
 
68
- def with_script(script, logger)
69
- begin
71
+ def with_script(script, logger)
70
72
  self.use_script = true
71
73
  self.sql_executer = Ridgepole::ExternalSqlExecuter.new(script, logger)
72
74
  yield
@@ -74,23 +76,21 @@ class Ridgepole::ExecuteExpander
74
76
  self.use_script = false
75
77
  self.sql_executer = nil
76
78
  end
77
- end
78
79
 
79
- def with_alter_extra(extra)
80
- begin
80
+ def with_alter_extra(extra)
81
81
  self.alter_extra = extra
82
82
  yield
83
83
  ensure
84
84
  self.alter_extra = nil
85
85
  end
86
- end
87
86
 
88
- def expand_execute(connection)
89
- return if connection.is_a?(ConnectionAdapterExt)
87
+ def expand_execute(connection)
88
+ return if connection.is_a?(ConnectionAdapterExt)
90
89
 
91
- connection.class_eval do
92
- prepend ConnectionAdapterExt
90
+ connection.class_eval do
91
+ prepend ConnectionAdapterExt
92
+ end
93
93
  end
94
94
  end
95
- end # of class methods
95
+ end
96
96
  end
@@ -5,9 +5,9 @@ module Ridgepole
5
5
  module AbstractMysqlAdapter
6
6
  module DumpAutoIncrement
7
7
  def prepare_column_options(column)
8
- spec = super
9
- spec[:auto_increment] = "true" if column.auto_increment?
10
- spec
8
+ spec = super
9
+ spec[:auto_increment] = 'true' if column.auto_increment?
10
+ spec
11
11
  end
12
12
  end
13
13
  end
@@ -5,7 +5,7 @@ module Ridgepole
5
5
  module AbstractMysqlAdapter
6
6
  module UseAlterIndex
7
7
  def add_index(table_name, column_name, options = {})
8
- index_name, index_type, index_columns, index_options, index_algorithm, index_using = add_index_options(table_name, column_name, options)
8
+ index_name, index_type, index_columns, index_options, _index_algorithm, index_using = add_index_options(table_name, column_name, options)
9
9
 
10
10
  # cannot specify index_algorithm
11
11
  execute "ALTER TABLE #{quote_table_name(table_name)} ADD #{index_type} INDEX #{quote_column_name(index_name)} #{index_using} (#{index_columns})#{index_options}"
@@ -1,25 +1,25 @@
1
1
  module Ridgepole
2
2
  module Ext
3
3
  module PpSortHash
4
- def pretty_print(q)
5
- q.group(1, '{', '}') {
6
- q.seplist(self.sort_by {|k, _| k.to_s } , nil, :each) {|k, v|
4
+ def pretty_print(pp_obj)
5
+ pp_obj.group(1, '{', '}') do
6
+ pp_obj.seplist(sort_by { |k, _| k.to_s }, nil, :each) do |k, v|
7
7
  v = PpSortHash.extend_if_hash(v)
8
8
 
9
- q.group {
10
- q.pp k
11
- q.text '=>'
12
- q.group(1) {
13
- q.breakable ''
14
- q.pp v
15
- }
16
- }
17
- }
18
- }
9
+ pp_obj.group do
10
+ pp_obj.pp k
11
+ pp_obj.text '=>'
12
+ pp_obj.group(1) do
13
+ pp_obj.breakable ''
14
+ pp_obj.pp v
15
+ end
16
+ end
17
+ end
18
+ end
19
19
  end
20
20
 
21
21
  def self.extend_if_hash(obj)
22
- if obj.kind_of?(Hash)
22
+ if obj.is_a?(Hash)
23
23
  obj = obj.dup
24
24
  obj.extend(self)
25
25
  end
@@ -25,7 +25,7 @@ module Ridgepole
25
25
  add_foreign_key_statements = foreign_keys.map do |foreign_key|
26
26
  parts = [
27
27
  "add_foreign_key #{remove_prefix_and_suffix(foreign_key.from_table).inspect}",
28
- remove_prefix_and_suffix(foreign_key.to_table).inspect,
28
+ remove_prefix_and_suffix(foreign_key.to_table).inspect
29
29
  ]
30
30
 
31
31
  if foreign_key.column != @connection.foreign_key_column_for(foreign_key.to_table)
@@ -1,23 +1,24 @@
1
- class Ridgepole::ExternalSqlExecuter
2
- def initialize(script, logger)
3
- @script = script
4
- @logger = logger
5
- end
1
+ module Ridgepole
2
+ class ExternalSqlExecuter
3
+ def initialize(script, logger)
4
+ @script = script
5
+ @logger = logger
6
+ end
6
7
 
7
- def execute(sql)
8
- cmd = Shellwords.join([@script, sql, JSON.dump(ActiveRecord::Base.connection_config)])
9
- @logger.info("Execute #{@script}")
10
- script_basename = File.basename(@script)
8
+ def execute(sql)
9
+ cmd = Shellwords.join([@script, sql, JSON.dump(ActiveRecord::Base.connection_config)])
10
+ @logger.info("Execute #{@script}")
11
+ script_basename = File.basename(@script)
11
12
 
12
- Open3.popen3(cmd) do |stdin, stdout, stderr, wait_thr|
13
- stdin.close_write
14
- files = [stdout, stderr]
13
+ Open3.popen3(cmd) do |stdin, stdout, stderr, wait_thr|
14
+ stdin.close_write
15
+ files = [stdout, stderr]
15
16
 
16
- begin
17
- until files.empty?
18
- ready = IO.select(files)
17
+ begin
18
+ until files.empty?
19
+ ready = IO.select(files)
19
20
 
20
- if ready
21
+ next unless ready
21
22
  readable = ready[0]
22
23
 
23
24
  readable.each do |f|
@@ -36,12 +37,11 @@ class Ridgepole::ExternalSqlExecuter
36
37
  end
37
38
  end
38
39
  end
40
+ rescue EOFError # rubocop:disable Lint/HandleExceptions
41
+ # nothing to do
39
42
  end
40
- rescue EOFError
41
- end
42
43
 
43
- unless wait_thr.value.success?
44
- raise "`#{@script}` execution failed"
44
+ raise "`#{@script}` execution failed" unless wait_thr.value.success?
45
45
  end
46
46
  end
47
47
  end