PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Warum PG::UniqueViolation:FEHLER:Doppelter Schlüsselwert verletzt eindeutige Einschränkung?

Um das Problem zu beheben, müssen wir ActiveRecord anweisen, sich die Sequenz der Tabelle anzusehen:

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

Jetzt sollte ActiveRecord den richtigen Sequenzwert haben und in der Lage sein, neue IDs richtig zuzuweisen.

So beheben Sie den Fehler

PG::UniqueViolation:FEHLER:Doppelter Schlüsselwert verletzt Unique Constraint "moderations_reportable" DETAIL:Schlüssel (reportable_type, reportable_id)=(Post, 25) existiert bereits. :INSERT INTO "moderations" ("blog_id", "reportable_type", "reportable_id", "created_at", "updated_at", "blog_type") WERTE ($1, $2, $3, $4, $5, $6) RETURNING "id"

Da ein Fehler in der 'Moderations'-Tabelle aufgetreten ist.

Führen Sie Folgendes über die Rails-Konsole aus beheben

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

Vielen Dank