PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

perché PG::UniqueViolation:ERRORE:il valore della chiave duplicata viola il vincolo univoco?

Per risolvere il problema, dobbiamo dire ad ActiveRecord di guardare la sequenza della tabella:

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

Ora ActiveRecord dovrebbe avere il valore di sequenza corretto e dovrebbe essere in grado di assegnare correttamente i nuovi ID.

Per risolvere l'errore

PG::UniqueViolation:ERRORE:il valore della chiave duplicata viola il vincolo univoco "moderations_reportable" DETTAGLIO:la chiave (reportable_type, reportable_id)=(Post, 25) esiste già. :INSERT IN "moderations" ("blog_id", "reportable_type", "reportable_id", "created_at", "updated_at", "blog_type") VALORI ($1, $2, $3, $4, $5, $6) RESTITUENDO "id"

Si è verificato un errore nella tabella "moderazioni".

Esegui quanto segue da console Rails aggiustare

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

Grazie