ERROR: identificador delimitado de longitud cero en o cerca de "" "" LÍNEA 1: ELIMINAR DE "regiones" DONDE "regiones". "" = $ 1

Estoy usando Rails 4.1 y Postgresql (con PG gem) como mi base de datos. Tengo una muy buena asociación de empresas a provincias con una mesa de unión llamada regiones. Ahora, obviamente, la tabla de regiones no tiene una clave principal porque usé {: id => false}. Pero cuando trato de usar la destrucción en función de la destrucción o simplemente llamar a la destrucción en el objeto de la región, aparece este error:

 ERROR:  zero-length delimited identifier at or near """"
 LINE 1: DELETE FROM "regions" WHERE "regions"."" = $1

Sé que el problema se debe a la falta de una clave principal para la tabla de regiones. Y curiosamente, si agrego la clave principal de nuevo a la tabla, destruir funciona bien y no hay error. Sin embargo, si elimino la clave principal de la tabla, el error vuelve. Sé que esto tiene algo que ver con los postgres, pero no tengo idea de cómo resolver esto sin tener que agregar una columna de clave principal a mi tabla de regiones.

Aquí está la consulta real

[DEBUG] [AdminUser Load (0.4ms)  SELECT  "admin_users".* FROM "admin_users"  WHERE "admin_users"."id" = 1  ORDER BY "admin_users"."id" ASC LIMIT 1] (pid:29655)
[DEBUG] [Province Load (0.2ms)  SELECT  "provinces".* FROM "provinces"  WHERE "provinces"."id" = $1 LIMIT 1  [["id", 5]]] (pid:29655)
[DEBUG] [ (0.1ms)  BEGIN] (pid:29655)
[DEBUG] [Region Load (0.3ms)  SELECT "regions".* FROM "regions"  WHERE "regions"."province_id" = $1  [["province_id", 5]]] (pid:29655)
[ERROR] [PG::SyntaxError: ERROR:  zero-length delimited identifier at or near """"
LINE 1: DELETE FROM "regions" WHERE "regions"."" = $1

Respuestas a la pregunta(3)

Su respuesta a la pregunta