Ho scoperto un buon modo per generare tabelle di join per le mie relazioni HABTM nella mia app Rails.Qual è il comportamento di create_join_table di ActiveRecord :: Migration?
rails g migration CreateJoinTable table1 table2
Questo genera un ActiveRecord::Migration
che impiega il metodo create_join_table
Mi chiedo che cosa questo meraviglioso metodo misteriosa fa. Immagino che faccia una tabella (probabilmente senza un campo id
) che abbia una colonna per la chiave straniera table1 e una colonna per la chiave straniera table2, ma la tabella ha altre caratteristiche? La mia abitudine per le tabelle di join è sempre stata quella di aggiungere un indice univoco su entrambe le colonne in modo che una relazione tra un record in tabella1 e un record in tabella2 non possa essere inserita due volte.
La mia domanda si riduce a: Se uso create_join_table
devo continuare ad aggiungere quell'indice univoco, o questo metodo lo fa per me (penso che dovrebbe)?
Il documentation I usually look at non entra in questo tipo di dettagli.