2017-04-16 10 views
2

レコードを更新しようとすると(Ecto.StaleEntryError) attempted to update a stale structが表示されることがあります。 Ectoのドキュメントでこれを避けるためのレシピは見つかりませんでしたので、これを避けるにはどうすればよいですか?更新時のEcto.StaleEntryError

P.S. PostgreSQL 9.6をPostgrex、Ecto 2.1.3経由で使用しています。

答えて

2

データベースからスキーマを取得し、アプリ内の他の場所で更新された後にスキーマを取得しているようです。取得していますか、それにぶら下がっていて、後で更新していますか?その場合は、フェッチ、変更、および更新します。

は右エクトのドキュメントから:

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

私の間違いだった、私はそれを「リロード」せずに、1つのプロセスから別のレコードを渡されました。私の悪い。 –