diff options
author | Sean Griffin <sean@thoughtbot.com> | 2014-06-28 14:44:49 -0600 |
---|---|---|
committer | Sean Griffin <sean@thoughtbot.com> | 2014-06-28 14:50:30 -0600 |
commit | b404613c977a5cc31c6748723e903fa5a0709c3b (patch) | |
tree | 6b64495c4717e92317c81c26f989686e21b88122 /activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb | |
parent | b44174f8c8f3b9b8040955f981d30e64558f0044 (diff) | |
download | rails-b404613c977a5cc31c6748723e903fa5a0709c3b.tar.gz rails-b404613c977a5cc31c6748723e903fa5a0709c3b.tar.bz2 rails-b404613c977a5cc31c6748723e903fa5a0709c3b.zip |
Always pass a column with a type object to quote
The only case where we got a column that was not `nil`, but did not
respond to `cast_type` was when type casting the default value during
schema creation. We can look up the cast type, and add that object to
the column definition. Will allow us to consistently rely on the type
objects for type casting in all directions.
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb | 8 |
1 files changed, 8 insertions, 0 deletions
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 596ebca5d6..e09672d239 100644 --- a/activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb +++ b/activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb @@ -31,6 +31,14 @@ 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 |