So I have a create_table like this for Courses at a School:
create_table :courses do |t| t.string :name t.references :course t.timestamps end
You can do this all in the initial migration/column definition (at least currently in Rails 5):
t.references :transferable_as, index: true, foreign_key: {to_table: :courses} t.references :same_as, index: true, foreign_key: {to_table: :courses}