update rails migrations index generate foreign add_column activerecord migration rails-migrations

migrations - Rails ActiveRecord:: Migration ¿Cuál es la diferencia entre index: true y add_index?



rails generate model (2)

Acabo de descubrir que la opción :index es solo para referencias ( t.references o t.belongs_to ). Para los tipos de columna "ordinarios", esta opción se ignora (por eso los índices no se reflejan en su schema.db cuando usó la opción :index ).

Para una sintaxis menos detallada hay un tipo de index :

t.index :column_name # extra options may be provided also

Cuál es la diferencia entre

t.boolean :is_live, index: true

y

add_index :table_name, :is_live

Si no hay diferencia, ¿por qué solo el add_index se refleja en schema.rb? Cuando uso index: true , realmente no puedo ver el índice en schema.rb . Debería usar solo el método add_index .

Cuando uso el método add_index , puedo ver esto en mi schema.rb

add_index "table_name", ["is_live"], name: "index_table_name_on_is_live", using: :blahblah