Module: ActiveRecord::Migration::Compatibility::V7_0::LegacyIndexName
Do not use. This module is for internal use only.
| Relationships & Source Files | |
| Extension / Inclusion / Inheritance Descendants | |
|
Included In:
::ActiveRecord::Migration::Compatibility::V4_2,
::ActiveRecord::Migration::Compatibility::V5_0,
::ActiveRecord::Migration::Compatibility::V5_1,
::ActiveRecord::Migration::Compatibility::V5_2,
::ActiveRecord::Migration::Compatibility::V6_0,
::ActiveRecord::Migration::Compatibility::V6_1,
::ActiveRecord::Migration::Compatibility::V7_0,
TableDefinition
| |
| Defined in: | activerecord/lib/active_record/migration/compatibility.rb |
Instance Method Summary
Instance Method Details
#expression_column_name?(column_name) ⇒ Boolean (private)
# File 'activerecord/lib/active_record/migration/compatibility.rb', line 65
def expression_column_name?(column_name) column_name.is_a?(String) && /\W/.match?(column_name) end
#index_name_options(column_names) (private)
[ GitHub ]# File 'activerecord/lib/active_record/migration/compatibility.rb', line 57
def (column_names) if expression_column_name?(column_names) column_names = column_names.scan(/\w+/).join("_") end { column: column_names } end
#legacy_index_name(table_name, options) (private)
[ GitHub ]# File 'activerecord/lib/active_record/migration/compatibility.rb', line 43
def legacy_index_name(table_name, ) if Hash === if [:column] "index_#{table_name}_on_#{Array([:column]) * '_and_'}" elsif [:name] [:name] else raise ArgumentError, "You must specify the index name" end else legacy_index_name(table_name, ()) end end