diff options
author | Rafael França <rafaelmfranca@gmail.com> | 2016-10-10 14:12:55 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-10-10 14:12:55 -0300 |
commit | 15fa282148c3fef064e9cee6564f60ea32f6a2d5 (patch) | |
tree | 1f15e7147a961f64f8e161029572af4f34bd81f7 /activerecord | |
parent | 4d93d381e0e2eb30c7e12a0b88fdfb88ec37f399 (diff) | |
parent | 24a1a6a844120dae7e5b304932b677e5e6fcb790 (diff) | |
download | rails-15fa282148c3fef064e9cee6564f60ea32f6a2d5.tar.gz rails-15fa282148c3fef064e9cee6564f60ea32f6a2d5.tar.bz2 rails-15fa282148c3fef064e9cee6564f60ea32f6a2d5.zip |
Merge pull request #26747 from kamipo/name_is_not_column_option
`name` is not a column option
Diffstat (limited to 'activerecord')
3 files changed, 8 insertions, 12 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract/schema_dumper.rb b/activerecord/lib/active_record/connection_adapters/abstract/schema_dumper.rb index 8bb7362c2e..bc378c0476 100644 --- a/activerecord/lib/active_record/connection_adapters/abstract/schema_dumper.rb +++ b/activerecord/lib/active_record/connection_adapters/abstract/schema_dumper.rb @@ -8,7 +8,6 @@ module ActiveRecord 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 @@ module ActiveRecord # 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 diff --git a/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb b/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb index 0f1a83324b..1df20a0c56 100644 --- a/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb +++ b/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb @@ -120,7 +120,7 @@ module ActiveRecord 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 diff --git a/activerecord/lib/active_record/schema_dumper.rb b/activerecord/lib/active_record/schema_dumper.rb index fc28ac7cb0..a1d7e3ef24 100644 --- a/activerecord/lib/active_record/schema_dumper.rb +++ b/activerecord/lib/active_record/schema_dumper.rb @@ -133,18 +133,15 @@ HEADER 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 |