提交 15fa2821 编写于 作者: R Rafael França 提交者: GitHub

Merge pull request #26747 from kamipo/name_is_not_column_option

`name` is not a column option
......@@ -8,7 +8,6 @@ module ConnectionAdapters # :nodoc:
module ColumnDumper
def column_spec(column)
spec = Hash[prepare_column_options(column).map { |k, v| [k, "#{k}: #{v}"] }]
spec[:name] = column.name.inspect
spec[:type] = schema_type(column).to_s
spec
end
......@@ -53,7 +52,7 @@ def prepare_column_options(column)
# Lists the valid migration options
def migration_keys
[:name, :limit, :precision, :scale, :default, :null, :collation, :comment]
[:limit, :precision, :scale, :default, :null, :collation, :comment]
end
private
......
......@@ -120,7 +120,7 @@ def column_exists?(table_name, column_name, type = nil, options = {})
checks = []
checks << lambda { |c| c.name == column_name }
checks << lambda { |c| c.type == type } if type
(migration_keys - [:name]).each do |attr|
migration_keys.each do |attr|
checks << lambda { |c| c.send(attr) == options[attr] } if options.key?(attr)
end
......
......@@ -133,18 +133,15 @@ def table(table, stream)
tbl.puts " do |t|"
# then dump all non-primary key columns
column_specs = columns.map do |column|
raise StandardError, "Unknown type '#{column.sql_type}' for column '#{column.name}'" unless @connection.valid_type?(column.type)
next if column.name == pk
@connection.column_spec(column)
end.compact
# find all migration keys used in this table
keys = @connection.migration_keys
column_specs.each do |colspec|
values = keys.map { |key| colspec[key] }.compact
# 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(", ")}"
end
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册