aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
diff options
context:
space:
mode:
authorfatkodima <fatkodima123@gmail.com>2017-12-31 16:54:53 +0200
committerfatkodima <fatkodima123@gmail.com>2017-12-31 16:54:53 +0200
commit3bd170eb935d582f6dbdf7e693385db68110acc8 (patch)
tree3e9d194e3de5d95d5b3bbecbb9ac01005d87eff1 /activerecord/test
parent71b4bf698f7443bd8d2e436bc9f37b4d6ec8fc8d (diff)
downloadrails-3bd170eb935d582f6dbdf7e693385db68110acc8.tar.gz
rails-3bd170eb935d582f6dbdf7e693385db68110acc8.tar.bz2
rails-3bd170eb935d582f6dbdf7e693385db68110acc8.zip
Fix recreating partial indexes after alter table for sqlite
Diffstat (limited to 'activerecord/test')
-rw-r--r--activerecord/test/cases/adapters/sqlite3/sqlite3_adapter_test.rb17
1 files changed, 17 insertions, 0 deletions
diff --git a/activerecord/test/cases/adapters/sqlite3/sqlite3_adapter_test.rb b/activerecord/test/cases/adapters/sqlite3/sqlite3_adapter_test.rb
index 6f72df4412..cd5d6f17d8 100644
--- a/activerecord/test/cases/adapters/sqlite3/sqlite3_adapter_test.rb
+++ b/activerecord/test/cases/adapters/sqlite3/sqlite3_adapter_test.rb
@@ -453,6 +453,23 @@ module ActiveRecord
Barcode.reset_column_information
end
+ def test_remove_column_preserves_partial_indexes
+ connection = Barcode.connection
+ connection.create_table :barcodes, force: true do |t|
+ t.string :code
+ t.string :region
+ t.boolean :bool_attr
+
+ t.index :code, unique: true, where: :bool_attr, name: "partial"
+ end
+ connection.remove_column :barcodes, :region
+
+ index = connection.indexes("barcodes").find { |idx| idx.name == "partial" }
+ assert_equal "bool_attr", index.where
+ ensure
+ Barcode.reset_column_information
+ end
+
def test_supports_extensions
assert_not @conn.supports_extensions?, "does not support extensions"
end