Skip to content
Browse files

Make indexed columns easy to extract from the index name. Oracle user…

…s should explicitly assign index names due to field length restrictions.

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4768 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
  • Loading branch information...
1 parent 79542f8 commit bc7f2315ba89199bb24866ddb76ead4bbe6b71c9 @jeremy jeremy committed Aug 15, 2006
View
2 activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb
@@ -214,7 +214,7 @@ def remove_index(table_name, options = {})
def index_name(table_name, options) #:nodoc:
if Hash === options # legacy support
if options[:column]
- "#{table_name}_#{Array(options[:column]).join('_')}_index"
+ "index_#{table_name}_on_#{Array(options[:column]) * '_and_'}"
elsif options[:name]
options[:name]
else
View
19 activerecord/test/migration_test.rb
@@ -57,14 +57,17 @@ def test_add_index
assert_nothing_raised { Person.connection.add_index("people", "last_name") }
assert_nothing_raised { Person.connection.remove_index("people", "last_name") }
- assert_nothing_raised { Person.connection.add_index("people", ["last_name", "first_name"]) }
- assert_nothing_raised { Person.connection.remove_index("people", :column => ["last_name", "first_name"]) }
- assert_nothing_raised { Person.connection.add_index("people", ["last_name", "first_name"]) }
- assert_nothing_raised { Person.connection.remove_index("people", :name => "people_last_name_first_name_index") }
- assert_nothing_raised { Person.connection.add_index("people", ["last_name", "first_name"]) }
- assert_nothing_raised { Person.connection.remove_index("people", "last_name_first_name") }
- assert_nothing_raised { Person.connection.add_index("people", ["last_name", "first_name"]) }
- assert_nothing_raised { Person.connection.remove_index("people", ["last_name", "first_name"]) }
+ # Orcl nds shrt indx nms.
+ unless current_adapter?(:OracleAdapter)
+ assert_nothing_raised { Person.connection.add_index("people", ["last_name", "first_name"]) }
+ assert_nothing_raised { Person.connection.remove_index("people", :column => ["last_name", "first_name"]) }
+ assert_nothing_raised { Person.connection.add_index("people", ["last_name", "first_name"]) }
+ assert_nothing_raised { Person.connection.remove_index("people", :name => "index_people_on_last_name_and_first_name") }
+ assert_nothing_raised { Person.connection.add_index("people", ["last_name", "first_name"]) }
+ assert_nothing_raised { Person.connection.remove_index("people", "last_name_and_first_name") }
+ assert_nothing_raised { Person.connection.add_index("people", ["last_name", "first_name"]) }
+ assert_nothing_raised { Person.connection.remove_index("people", ["last_name", "first_name"]) }
+ end
# quoting
# Note: changed index name from "key" to "key_idx" since "key" is a Firebird reserved word

0 comments on commit bc7f231

Please sign in to comment.
Something went wrong with that request. Please try again.