sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Por qué PG::UniqueViolation:ERROR:el valor de la clave duplicada viola la restricción única?

Para solucionar el problema, tenemos que decirle a ActiveRecord que mire la secuencia de la tabla:

ActiveRecord::Base.connection.reset_pk_sequence!('table_name')

Ahora ActiveRecord debería tener el valor de secuencia correcto y debería poder asignar nuevas identificaciones correctamente.

Para resolver el error

PG::UniqueViolation:ERROR:el valor de clave duplicado viola la restricción única "moderations_reportable" DETALLE:Key (reportable_type, reportable_id)=(Post, 25) ya existe. :INSERTAR EN "moderaciones" ("blog_id", "reportable_type", "reportable_id", "created_at", "updated_at", "blog_type") VALORES ($1, $2, $3, $4, $5, $6) DEVOLVER "id"

Como ocurrió un error en la tabla de 'moderaciones'.

Ejecute lo siguiente desde la consola de Rails arreglar

ActiveRecord::Base.connection.reset_pk_sequence!('moderations')

Gracias