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
En resumen: ambos hacen el mismo trabajo. "índice: verdadero" solo te ahorra una línea adicional. Vea aquí https://github.com/rails/rails/pull/5262#issuecomment-4329571