Merge pull request #47648 from fatkodima/internal-options-migrations-logging

Do not log internal options when running migrations
This commit is contained in:
Rafael Mendonça França 2023-04-21 17:30:08 -04:00 committed by GitHub
commit 484dcb6538
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -969,9 +969,7 @@ def connection
end
def method_missing(method, *arguments, &block)
arg_list = arguments.map(&:inspect) * ", "
say_with_time "#{method}(#{arg_list})" do
say_with_time "#{method}(#{format_arguments(arguments)})" do
unless connection.respond_to? :revert
unless arguments.empty? || [:execute, :enable_extension, :disable_extension].include?(method)
arguments[0] = proper_table_name(arguments.first, table_name_options)
@ -1080,6 +1078,22 @@ def execute_block
end
end
def format_arguments(arguments)
arg_list = arguments[0...-1].map(&:inspect)
last_arg = arguments.last
if last_arg.is_a?(Hash)
last_arg = last_arg.reject { |k, _v| internal_option?(k) }
arg_list << last_arg.inspect unless last_arg.empty?
else
arg_list << last_arg.inspect
end
arg_list.join(", ")
end
def internal_option?(option_name)
option_name.start_with?("_")
end
def command_recorder
CommandRecorder.new(connection)
end