У меня есть таблица связи «многие ко многим» между двумя сущностями, центрами обработки данных и проектами в устаревшем коде.Я обнаружил, что это действительно отношения один ко многим.
В качестве первого шага по очистке отношений я хотел поместить уникальный индекс в одно из полей.
Теперь я 'получаю следующую ошибку:
Первичный ключ не разрешен в таблице соединений has_and_belongs_to_many (datacenters_projects).
Я использую Rails 2.3.8, работающий на ruby 1.8.7p174 и mysql Ver 14.12Distrib 5.0.77.
Это не первичный ключ, это просто уникальный индекс.Я предполагаю, что это ключ-кандидат, но я не решил, что это первичный ключ.
Я не знаю, почему mysql считает его первичным ключом.Я не знаю, почему ActiveRecord возражает против таблицы ссылок в has_and_belongs_to_many, имеющей первичный ключ.
Но мой реальный вопрос: «Есть ли способ, которым я могу поместить уникальный индекс в одно из полей,без ActiveRecord, выдающего мне ошибку? "
Можно ли как-то сказать add_index, что это не первичный ключ?