Przeglądałem wiele postów SO
i google
w celu wygenerowania migracji tabeli dołączania dla skojarzenia has many and belongs to many
i nic nie działa.Wygeneruj migrację - utwórz tabelę łączenia
Wszystkie rozwiązania generują pusty plik migracyjny.
Używam rails 3.2.13
i mam dwie tabele: security_users
i assignments
. Oto kilka rzeczy, które wypróbowałem:
rails generate migration assignments_security_users
rails generate migration create_assignments_security_users
rails generate migration create_assignments_security_users_join_table
rails g migration create_join_table :products, :categories (following the official documentation)
rails generate migration security_users_assignments security_user:belongs_to assignments:belongs_to
Czy ktoś może powiedzieć, jak utworzyć migrację sprzężenia między tabelami?
Jeśli robisz to w ten sposób, upewnij się, że dodajesz '' 'null: false''' do definicji pól. Na przykład: '' 't.integer: assignment_id, null: false''''. Chroni to przed upiornymi sytuacjami, w których kończy się tabela złączenia nigdzie wskazująca, twoje dane tracą integralność, a twój kod przewraca się. (Lub kończy się na brzydkim i brzydkim systemie alarmowym). –
Zgadzam się z @Powers i dodam, że być może warto dodać indeks do tych kolumn? – BKSpurgeon