Det aktuelt accepterede svar på dette er ikke rigtig nøjagtigt, da det ikke tilføjer en databasefremmednøgle. Det er bare at tilføje heltalskolonner.
I Rails 4.2.x , den nuværende tilgang er:
http://guides.rubyonrails.org/active_record_migrations.html#foreign-keys
Opret en migrering:
rails generate migration migration_name
For eksisterende kolonner , i migreringen tilføj fremmednøglerne sådan her:
class MigrationName < ActiveRecord::Migration
def change
add_foreign_key :business_hours, :businesses
add_foreign_key :businesses, :users
end
end
Til Rails 4.x eller hvis du tilføjer en ny kolonne og vil have det til at være en fremmednøgle kan du gøre dette, hvor du sikkert også vil angive indekset som sandt, men det er ikke en del af kravet til fremmednøglen:
http://edgeguides.rubyonrails.org/active_record_migrations.html#creating-a-migration
class MigrationName < ActiveRecord::Migration
def change
add_reference :business_hours, :business, index: true, foreign_key: true
add_reference :businesses, :user, index: true, foreign_key: true
end
end