method

references

references(*args, **options)
public

Adds a reference.

t.references(:user)
t.belongs_to(:supplier, foreign_key: true)

See {connection.add_reference}[rdoc-ref:SchemaStatements#add_reference] for details of the options you can use.

2Notes

Doesn't add an index

avit · Aug 22, 20084 thanks

Typically you will want to have an index on foreign keys but this method doesn't assume that. Outside of the create_table block you should follow this with add_index :

add_index :table_name, :goat_id
# and, if polymorphic:
add_index :table_name, :goat_type

add index directly

apsoto · Apr 23, 2015

You can add an index now directly on the foreign_key :

t.references(:user, index: true)