Niepowtarzalny indeks szyny na wielu kolumnach (sqlite3)
Korzystając z szyn, ustawiłem model HATBM z tabelą użytkowników, tabelą grup i użytkownikami grup dla złączeń (wszystkie z poleceniem rusztowania). Teraz chcę dodać migrację, aby dodać unikalny indeks w obu kolumnach id_grupy i id_użytkownika dla tabeli users_users w celu ograniczenia unikalności par group_id / user_id. Poszczególne kolumny id_kolumny i id_użytkownika nie są już puste i mają indeksy.
Oto wiersz, który chcę wykonać podczas migracji:
add_index :groups_users, [:user_id, :group_id], :unique => true
Otrzymuję następujący błąd:
-- add_index(:groups_users, [:user_id, :group_id], {:unique=>true})
rake aborted!
An error has occurred, this and all later migrations canceled:
SQLite3::ConstraintException: constraint failed: CREATE UNIQUE INDEX "index_groups_users_on_user_id_and_group_id" ON "groups_users" ("user_id", "group_id")
Używam rails 3.2.11 na mac os z sqlite3 jako db.
Jestem pewien, że musi istnieć jakieś oczywiste wyjaśnienie, ponieważ nie widziałem żadnego raportu o tym błędzie w sieci, ale strasznie utknąłem ... Jakie ograniczenie nie jest tutaj spełnione? Próbowałem usunąć indeksy na group_id i user_id, ale nic nie zmienia. Jeśli utworzę indeks dwukolumnowy bez unikalności, to działa (ale nie pomaga ...)
Czyjaś pomoc bardzo doceniła ...