diff options
author | Grant Neufeld <grant@grantneufeld.ca> | 2011-06-18 14:38:38 -0600 |
---|---|---|
committer | Grant Neufeld <grant@grantneufeld.ca> | 2011-06-18 14:38:38 -0600 |
commit | 3cc83a8f24ba61b648a2728efc113388cf1ec243 (patch) | |
tree | 6f79c8bf91d8739b9431442cdcaeae2962c4376d /activerecord/test | |
parent | 2fbb7504e2c2b0a95398d1ef0c97ea4a403d831d (diff) | |
download | rails-3cc83a8f24ba61b648a2728efc113388cf1ec243.tar.gz rails-3cc83a8f24ba61b648a2728efc113388cf1ec243.tar.bz2 rails-3cc83a8f24ba61b648a2728efc113388cf1ec243.zip |
Changed the default value for the options argument on ActiveRecord::ConnectionAdapters::Table#column_exists? from nil to an empty Hash {}.
That method calls through to ActiveRecord::ConnectionAdapters::SchemaStatements##column_exists? expects options to be a Hash.
When options was nil, an error would occur in cases where the column did exist because the called method attempted to perform a key lookup on options.
Diffstat (limited to 'activerecord/test')
-rw-r--r-- | activerecord/test/cases/migration_test.rb | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/activerecord/test/cases/migration_test.rb b/activerecord/test/cases/migration_test.rb index bf7565a0d0..93a1249e43 100644 --- a/activerecord/test/cases/migration_test.rb +++ b/activerecord/test/cases/migration_test.rb @@ -1071,6 +1071,18 @@ if ActiveRecord::Base.connection.supports_migrations? Person.connection.drop_table :testings rescue nil end + def test_column_exists_on_table_with_no_options_parameter_supplied + Person.connection.create_table :testings do |t| + t.string :foo + end + Person.connection.change_table :testings do |t| + assert t.column_exists?(:foo) + assert !(t.column_exists?(:bar)) + end + ensure + Person.connection.drop_table :testings rescue nil + end + def test_add_table assert !Reminder.table_exists? |