diff options
author | Sean Griffin <sean@seantheprogrammer.com> | 2015-02-09 08:29:10 -0700 |
---|---|---|
committer | Sean Griffin <sean@seantheprogrammer.com> | 2015-02-09 08:29:10 -0700 |
commit | bae903440da0699180bc6766fb9f8e3d1b8e95dc (patch) | |
tree | c3f49212311439d46a3c5b85e33271334f379ddc /activerecord/lib | |
parent | 8ba75488773c2d7e4cdf267fb8d4553e8363910c (diff) | |
parent | b199012c4f01693f18e2143f43c1bf928bae1860 (diff) | |
download | rails-bae903440da0699180bc6766fb9f8e3d1b8e95dc.tar.gz rails-bae903440da0699180bc6766fb9f8e3d1b8e95dc.tar.bz2 rails-bae903440da0699180bc6766fb9f8e3d1b8e95dc.zip |
Merge pull request #18849 from kamipo/array_type_is_a_part_of_sql_type
An array type is a part of `sql_type`
Diffstat (limited to 'activerecord/lib')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/abstract/schema_creation.rb | 2 | ||||
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb | 21 |
2 files changed, 4 insertions, 19 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract/schema_creation.rb b/activerecord/lib/active_record/connection_adapters/abstract/schema_creation.rb index db20b60d60..81f8615976 100644 --- a/activerecord/lib/active_record/connection_adapters/abstract/schema_creation.rb +++ b/activerecord/lib/active_record/connection_adapters/abstract/schema_creation.rb @@ -28,7 +28,7 @@ module ActiveRecord end def visit_ColumnDefinition(o) - o.sql_type = type_to_sql(o.type, o.limit, o.precision, o.scale) + o.sql_type ||= type_to_sql(o.type, o.limit, o.precision, o.scale) column_sql = "#{quote_column_name(o.name)} #{o.sql_type}" add_column_options!(column_sql, column_options(o)) unless o.type == :primary_key column_sql diff --git a/activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb b/activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb index d4e183dd16..750eaeca92 100644 --- a/activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb +++ b/activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb @@ -4,16 +4,9 @@ module ActiveRecord class SchemaCreation < AbstractAdapter::SchemaCreation private - def column_options(o) - column_options = super - column_options[:array] = o.array - column_options - end - - def add_column_options!(sql, options) - if options[:array] - sql << '[]' - end + def visit_ColumnDefinition(o) + o.sql_type = type_to_sql(o.type, o.limit, o.precision, o.scale) + o.sql_type << '[]' if o.array super end @@ -24,14 +17,6 @@ module ActiveRecord super end end - - def type_for_column(column) - if column.array - @conn.lookup_cast_type("#{column.sql_type}[]") - else - super - end - end end module SchemaStatements |