PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

por que PG::UniqueViolation:ERRO:valor de chave duplicado viola restrição exclusiva?


Para corrigir o problema, temos que dizer ao ActiveRecord para observar a sequência da tabela:
ActiveRecord::Base.connection.reset_pk_sequence!('table_name')

Agora ActiveRecord deve ter o valor de sequência correto e deve ser capaz de atribuir novos ids corretamente.

Para resolver o erro

PG::UniqueViolation:ERRO:valor de chave duplicado viola restrição exclusiva "moderations_reportable" DETALHE:A chave (reportable_type, reportable_id)=(Post, 25) já existe. :INSERT INTO "moderações" ("blog_id", "reportable_type", "reportable_id", "created_at", "updated_at", "blog_type") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id"

Como ocorreu um erro na tabela 'moderações'.

Execute o seguinte no console Rails consertar
ActiveRecord::Base.connection.reset_pk_sequence!('moderations')

Obrigada