2017-04-16 3 views
2

Manchmal bekomme ich (Ecto.StaleEntryError) attempted to update a stale struct beim Versuch, Datensatz zu aktualisieren. Ich habe kein Rezept gefunden, um dies in Ectos Dokumenten zu vermeiden, also was sollte ich tun, um dies zu vermeiden?Ecto.StaleEntryError beim Aktualisieren

P.S. Ich benutze PostgreSQL 9.6 über Postgrex, Ecto 2.1.3.

Antwort

2

Es sieht so aus, als ob Sie ein Schema aus der Datenbank abrufen und aktualisieren, nachdem es an anderer Stelle in Ihrer App aktualisiert wurde. Holst du es, hängst daran auf und aktualisierst es später? Wenn ja, holen, ändern und aktualisieren.

Von den Ecto docs:

When a conflict happens (a record which has been previously fetched is 
being updated, but that same record has been modified since it was 
fetched), an `Ecto.StaleEntryError` exception is raised. 
+1

Das ist mein Fehler war, ging ich Rekord von einem Prozess zum anderen, ohne es zu „Nachladen“. Mein Fehler. –

Verwandte Themen