aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/mysql/schema_definitions.rb
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2017-02-03 08:50:46 +0900
committerJeremy Daer <jeremydaer@gmail.com>2017-02-09 00:30:29 -0700
commitae39b1a03d0a859be9d5342592c8936f89fcbacf (patch)
tree510e3d0ac891b035676656325b0e2f0be7bd08ec /activerecord/lib/active_record/connection_adapters/mysql/schema_definitions.rb
parente2b425bc741d19308f98fed1103bf7d66c8cad2d (diff)
downloadrails-ae39b1a03d0a859be9d5342592c8936f89fcbacf.tar.gz
rails-ae39b1a03d0a859be9d5342592c8936f89fcbacf.tar.bz2
rails-ae39b1a03d0a859be9d5342592c8936f89fcbacf.zip
Refactor `ColumnDefinition` to contain `options` hash
Column options are passed as an hash args then used as `options` hash in `add_column_options!`. Converting args to attributes is inconvinient for using options as an hash.
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/mysql/schema_definitions.rb')
-rw-r--r--activerecord/lib/active_record/connection_adapters/mysql/schema_definitions.rb19
1 files changed, 3 insertions, 16 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/mysql/schema_definitions.rb b/activerecord/lib/active_record/connection_adapters/mysql/schema_definitions.rb
index 76ebd0bf6c..773bbcef4e 100644
--- a/activerecord/lib/active_record/connection_adapters/mysql/schema_definitions.rb
+++ b/activerecord/lib/active_record/connection_adapters/mysql/schema_definitions.rb
@@ -56,14 +56,10 @@ module ActiveRecord
end
end
- class ColumnDefinition < ActiveRecord::ConnectionAdapters::ColumnDefinition
- attr_accessor :charset, :unsigned, :stored
- end
-
class TableDefinition < ActiveRecord::ConnectionAdapters::TableDefinition
include ColumnMethods
- def new_column_definition(name, type, options) # :nodoc:
+ def new_column_definition(name, type, **options) # :nodoc:
case type
when :virtual
type = options[:type]
@@ -76,18 +72,9 @@ module ActiveRecord
type = $~[:type].to_sym
options[:unsigned] = true
end
- column = super
- column.unsigned = options[:unsigned]
- column.charset = options[:charset]
- column.stored = options[:stored]
- column
- end
-
- private
- def create_column_definition(name, type)
- MySQL::ColumnDefinition.new(name, type)
- end
+ super
+ end
end
class Table < ActiveRecord::ConnectionAdapters::Table