Add A Reference Column With An Index
Though I prefer to always back my reference columns with a foreign key, sometimes you may just want to add the reference column on its own. Though this could be done manually with the add_column directive, you can be more explicit with add_reference -- which allows you to specify whether or not an index is to be added.
def up
add_reference :books, :author, index: true
endThis will add authors_id and an index to the books table.
You can additionally specify the type of the column. This is handy if you are using uuids for all your primary keys.
def up
add_reference :books, :author, type: :uuid, index: true
endLast updated
Was this helpful?