Ich habe eine schöne Möglichkeit gefunden, Join-Tabellen für meine HABTM-Beziehungen in meiner Rails-App zu generieren.Was ist das Verhalten von create_join_table von ActiveRecord :: Migration?
rails g migration CreateJoinTable table1 table2
Dies erzeugt eine ActiveRecord::Migration
, die die Methode funktioniert create_join_table
Ich frage mich, was diese wunderbare geheimnisvolle Methode beschäftigt. Ich denke, es macht eine Tabelle (wahrscheinlich ohne ein Feld id
), die eine Spalte für Fremdschlüssel Tabelle1 und eine Spalte für Fremdschlüssel Tabelle2 hat, aber hat die Tabelle andere Features ?. Meine Gewohnheit für Join-Tabellen war immer, einen eindeutigen Index für diese beiden Spalten hinzuzufügen, so dass eine Beziehung zwischen einem Datensatz in Tabelle1 und einem Datensatz in Tabelle2 nicht zweimal eingegeben werden kann.
Meine Frage läuft auf: Wenn ich create_join_table
verwende, muss ich diesen einzigartigen Index hinzufügen, oder tut diese Methode das für mich (ich denke, dass es sollte)?
Die documentation I usually look at geht nicht in diese Art von Detail.