2017-09-14 1 views
0

Je suis confus au sujet de belongs_to et de la clé étrangère dans les rails. Lorsque nous utilisons belongs_to dans les migrations de rails, il semble qu'il crée une clé étrangère sur la table enfant à laquelle nous pouvons accéder à partir de la table parent. Cependant, dans la documentation sur les rails, il y a une situation qui utilise les deux dans une colonne. Quelqu'un peut-il expliquer cette situation et expliquer ce que appartient_to et foreign_key: true fait exactement cela?Qu'est-ce que belongs_to crée dans les migrations de rails et dans la structure de base de données?

Répondre

1

t.belongs_to :supplier ajoute supplier_id à accounts.

index: { unique: true } crée un database index pour la colonne.

foreign_key: true crée un foreign key constraint pour la colonne.

Je vous recommande de lire Active Record Migrations — Ruby on Rails Guides.

Les index accélèrent les opérations de récupération de données.

Les clés étrangères aident à maintenir referential integrity.

+0

donc t.belongs_to: fournisseur égal à t.integer: fournisseur_id? – cengo