El índice único de rieles en varias columnas falla (sqlite3)

Usando rieles, configuré un modelo HATBM con una tabla de usuarios, una tabla de grupos y un grupo de usuarios para las uniones (todas con comando de andamio). Ahora quiero agregar una migración para agregar un índice único en ambas columnas group_id y user_id para la tabla groups_users, con el fin de restringir que las parejas group_id / user_id sean únicas. Las columnas individuales group_id y user_id no son nulas e índices ya.

Aquí está la línea que quiero ejecutar en la migración:

add_index :groups_users, [:user_id, :group_id], :unique => true

Obtuve el siguiente error:

-- 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")

Uso rieles 3.2.11 en mac os con sqlite3 como db.

Estoy seguro de que debe haber una explicación obvia, ya que no vi ningún informe de ese error en la red, pero estoy terriblemente atascado ... ¿Qué restricción no se cumple aquí? Intenté eliminar los índices en group_id y user_id, pero no cambia nada. Si creo el índice de dos columnas sin unicidad, entonces funciona (pero no ayuda ...)

La ayuda de alguien muy apreciada ...

Respuestas a la pregunta(2)

Su respuesta a la pregunta