From 1fa97c76d6b528d0c1f9affe0ebb0092f39eecf8 Mon Sep 17 00:00:00 2001 From: Ryuta Kamizono Date: Tue, 11 Oct 2016 10:01:40 +0900 Subject: Extract `format_colspec` to format column spec --- activerecord/lib/active_record/schema_dumper.rb | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'activerecord/lib/active_record/schema_dumper.rb') diff --git a/activerecord/lib/active_record/schema_dumper.rb b/activerecord/lib/active_record/schema_dumper.rb index 6f24e6d182..c1c6519cfa 100644 --- a/activerecord/lib/active_record/schema_dumper.rb +++ b/activerecord/lib/active_record/schema_dumper.rb @@ -115,9 +115,7 @@ HEADER pkcol = columns.detect { |c| c.name == pk } pkcolspec = @connection.column_spec_for_primary_key(pkcol) if pkcolspec.present? - pkcolspec.each do |key, value| - tbl.print ", #{key}: #{value}" - end + tbl.print ", #{format_colspec(pkcolspec)}" end when Array tbl.print ", primary_key: #{pk.inspect}" @@ -133,16 +131,14 @@ HEADER tbl.puts " do |t|" - # find all migration keys used in this table - keys = @connection.migration_keys - # then dump all non-primary key columns columns.each do |column| raise StandardError, "Unknown type '#{column.sql_type}' for column '#{column.name}'" unless @connection.valid_type?(column.type) next if column.name == pk - colspec = @connection.column_spec(column) - values = [column.name.inspect] + keys.map { |key| colspec[key] }.compact - tbl.puts " t.#{colspec[:type]} #{values.join(", ")}" + type, colspec = @connection.column_spec(column) + tbl.print " t.#{type} #{column.name.inspect}" + tbl.print ", #{format_colspec(colspec)}" if colspec.present? + tbl.puts end indexes_in_create(table, tbl) @@ -228,6 +224,10 @@ HEADER end end + def format_colspec(colspec) + colspec.map { |key, value| "#{key}: #{value}" }.join(", ") + end + def format_options(options) options.map { |key, value| "#{key}: #{value.inspect}" }.join(", ") end -- cgit v1.2.3