diff options
author | Ryuta Kamizono <kamipo@gmail.com> | 2016-02-01 00:23:36 +0900 |
---|---|---|
committer | Jeremy Daer <jeremydaer@gmail.com> | 2016-04-24 14:56:29 -0700 |
commit | edc2b7718725016e988089b5fb6d6fb9d6e16882 (patch) | |
tree | 2dc5eb1b68ff7c0f71c5de73578e48cb5edb6d68 /activerecord/test/cases/schema_dumper_test.rb | |
parent | c41ef01aec40bfaa9af707551d1e8a1f9f7380d1 (diff) | |
download | rails-edc2b7718725016e988089b5fb6d6fb9d6e16882.tar.gz rails-edc2b7718725016e988089b5fb6d6fb9d6e16882.tar.bz2 rails-edc2b7718725016e988089b5fb6d6fb9d6e16882.zip |
Add Expression Indexes and Operator Classes support for PostgreSQL
Example:
create_table :users do |t|
t.string :name
t.index 'lower(name) varchar_pattern_ops'
end
Fixes #19090.
Fixes #21765.
Fixes #21819.
Fixes #24359.
Signed-off-by: Jeremy Daer <jeremydaer@gmail.com>
Diffstat (limited to 'activerecord/test/cases/schema_dumper_test.rb')
-rw-r--r-- | activerecord/test/cases/schema_dumper_test.rb | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/activerecord/test/cases/schema_dumper_test.rb b/activerecord/test/cases/schema_dumper_test.rb index 7a304eab7f..f1927f561e 100644 --- a/activerecord/test/cases/schema_dumper_test.rb +++ b/activerecord/test/cases/schema_dumper_test.rb @@ -92,7 +92,7 @@ class SchemaDumperTest < ActiveRecord::TestCase next if column_set.empty? lengths = column_set.map do |column| - if match = column.match(/\bt\.\w+\s+"/) + if match = column.match(/\bt\.\w+\s+(?="\w+?")/) match[0].length end end.compact @@ -279,6 +279,11 @@ class SchemaDumperTest < ActiveRecord::TestCase assert_match %r{t\.decimal\s+"decimal_array_default",\s+default: \["1.23", "3.45"\],\s+array: true}, output end + def test_schema_dump_expression_indices + index_definition = standard_dump.split(/\n/).grep(/t\.index.*company_expression_index/).first.strip + assert_equal 't.index "lower((name)::text)", name: "company_expression_index", using: :btree', index_definition + end + if ActiveRecord::Base.connection.supports_extensions? def test_schema_dump_includes_extensions connection = ActiveRecord::Base.connection |