@@ -115,9 +115,7 @@ def table(table, stream)
115115 pkcol = columns . detect { |c | c . name == pk }
116116 pkcolspec = @connection . column_spec_for_primary_key ( pkcol )
117117 if pkcolspec . present?
118- pkcolspec . each do |key , value |
119- tbl . print ", #{ key } : #{ value } "
120- end
118+ tbl . print ", #{ format_colspec ( pkcolspec ) } "
121119 end
122120 when Array
123121 tbl . print ", primary_key: #{ pk . inspect } "
@@ -133,16 +131,14 @@ def table(table, stream)
133131
134132 tbl . puts " do |t|"
135133
136- # find all migration keys used in this table
137- keys = @connection . migration_keys
138-
139134 # then dump all non-primary key columns
140135 columns . each do |column |
141136 raise StandardError , "Unknown type '#{ column . sql_type } ' for column '#{ column . name } '" unless @connection . valid_type? ( column . type )
142137 next if column . name == pk
143- colspec = @connection . column_spec ( column )
144- values = [ column . name . inspect ] + keys . map { |key | colspec [ key ] } . compact
145- tbl . puts " t.#{ colspec [ :type ] } #{ values . join ( ", " ) } "
138+ type , colspec = @connection . column_spec ( column )
139+ tbl . print " t.#{ type } #{ column . name . inspect } "
140+ tbl . print ", #{ format_colspec ( colspec ) } " if colspec . present?
141+ tbl . puts
146142 end
147143
148144 indexes_in_create ( table , tbl )
@@ -228,6 +224,10 @@ def foreign_keys(table, stream)
228224 end
229225 end
230226
227+ def format_colspec ( colspec )
228+ colspec . map { |key , value | "#{ key } : #{ value } " } . join ( ", " )
229+ end
230+
231231 def format_options ( options )
232232 options . map { |key , value | "#{ key } : #{ value . inspect } " } . join ( ", " )
233233 end
0 commit comments