Я просмотрел множество сообщений SO
и google
сообщений для генерации миграции таблицы соединений для ассоциации has many and belongs to many
и ничего не работает.Создать миграцию - создать таблицу соединений
Все решения генерируют пустой файл миграции.
Я использую rails 3.2.13
и у меня есть две таблицы: security_users
и assignments
. Вот некоторые из вещей, которые я постарался:
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
Может ли кто-нибудь сказать, как создать миграцию таблицы соединений между двумя таблицами?
Если вы делаете это так, убедитесь, что вы добавили '' 'null: false''' в определения полей. Например: '' t.integer: assign_id, null: false'''. Это защитит от ужасных ситуаций, когда в итоге вы получите таблицу соединений, нигде не указывающую, ваши данные теряют целостность и ваш код падает. (Или заканчивается пронизанным уродливым и опасным кодом). –
Я согласен с @Powers и добавлю, что, возможно, это идея добавить индекс в эти столбцы? – BKSpurgeon