ActiveRecord принципиально несовместим с составными ключами?
Я пытался использовать дозвуковой для проекта, над которым я работаю. Все шло довольно хорошо, пока я не столкнулся с таблицей ссылок с составным первичным ключом. Это ключ, состоящий из первичных ключей двух таблиц, к которым он присоединяется. Subsonic не удалось распознать оба ключа, что было проблематично. Я собирался настроить дозвуковые для поддержки составных ключей, но я остановился и, хотя "Может быть, есть причина для этого". Обычно активная запись опирается на одно поле первичного ключа для каждой записи, даже в таблицах ссылок. Но нужно ли это? Должен ли я просто отказаться от активной записи для этого проекта или продолжить свои модификации?
1 ответ
Ruby on Rails не поддерживает составные первичные ключи в объекте модели из коробки. Тем не менее, есть плагины, которые выполняют это, например, это.
Вы можете иметь составной первичный ключ в объединяемой таблице, но Rails не будет создавать этот первичный ключ, вы должны создать его вручную. Смотрите это руководство.