Merge pull request #16297 from calebthompson/extract-iterator-method
Extract iterator method in AR::SchemaDumper
This commit is contained in:
commit
64e2e81bf9
@ -92,16 +92,9 @@ def extensions(stream)
|
||||
|
||||
def tables(stream)
|
||||
sorted_tables = @connection.tables.sort
|
||||
sorted_tables.each do |tbl|
|
||||
next if ['schema_migrations', ignore_tables].flatten.any? do |ignored|
|
||||
case ignored
|
||||
when String; remove_prefix_and_suffix(tbl) == ignored
|
||||
when Regexp; remove_prefix_and_suffix(tbl) =~ ignored
|
||||
else
|
||||
raise StandardError, 'ActiveRecord::SchemaDumper.ignore_tables accepts an array of String and / or Regexp values.'
|
||||
end
|
||||
end
|
||||
table(tbl, stream)
|
||||
|
||||
sorted_tables.each do |table_name|
|
||||
table(table_name, stream) unless ignored?(table_name)
|
||||
end
|
||||
|
||||
# dump foreign keys at the end to make sure all dependent tables exist.
|
||||
@ -254,5 +247,16 @@ def foreign_keys(table, stream)
|
||||
def remove_prefix_and_suffix(table)
|
||||
table.gsub(/^(#{@options[:table_name_prefix]})(.+)(#{@options[:table_name_suffix]})$/, "\\2")
|
||||
end
|
||||
|
||||
def ignored?(table_name)
|
||||
['schema_migrations', ignore_tables].flatten.any? do |ignored|
|
||||
case ignored
|
||||
when String; remove_prefix_and_suffix(table_name) == ignored
|
||||
when Regexp; remove_prefix_and_suffix(table_name) =~ ignored
|
||||
else
|
||||
raise StandardError, 'ActiveRecord::SchemaDumper.ignore_tables accepts an array of String and / or Regexp values.'
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user