diff options
author | Ryuta Kamizono <kamipo@gmail.com> | 2016-02-12 23:49:05 +0900 |
---|---|---|
committer | Ryuta Kamizono <kamipo@gmail.com> | 2016-03-08 08:51:26 +0900 |
commit | 51601f8889d08ee9336d6df9ea7598609578c40a (patch) | |
tree | d587ed0b2977f0617f59117cd2fda325c3df4daf /activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb | |
parent | 70e7b87ddba726f5fd2eb7ef24b158baa8ea2193 (diff) | |
download | rails-51601f8889d08ee9336d6df9ea7598609578c40a.tar.gz rails-51601f8889d08ee9336d6df9ea7598609578c40a.tar.bz2 rails-51601f8889d08ee9336d6df9ea7598609578c40a.zip |
Initialize `column.table_name` immediately for `column.serial?` correctly working
Currently the results of `column.serial?` is not correct. For
`column.serial?` correctly working, initialize `column.table_name`
immediately.
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb b/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb index c65d33ccb3..cf2ad934a0 100644 --- a/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb @@ -337,7 +337,8 @@ module ActiveRecord end # Returns an array of +Column+ objects for the table specified by +table_name+. - def columns(table_name) #:nodoc: + def columns(table_name) # :nodoc: + table_name = table_name.to_s table_structure(table_name).map do |field| case field["dflt_value"] when /^null$/i @@ -351,7 +352,9 @@ module ActiveRecord collation = field['collation'] sql_type = field['type'] type_metadata = fetch_type_metadata(sql_type) - new_column(field['name'], field['dflt_value'], type_metadata, field['notnull'].to_i == 0, nil, collation) + new_column(field['name'], field['dflt_value'], type_metadata, field['notnull'].to_i == 0, nil, collation).tap do |column| + column.instance_variable_set(:@table_name, table_name) + end end end |