2017-04-16 29 views
2

嘗試更新記錄時,有時會得到(Ecto.StaleEntryError) attempted to update a stale struct。 我還沒有在Ecto的文檔中發現任何配方來避免這種情況,所以我應該怎麼做才能避免這種情況?Ecto.StaleEntryError更新時

P.S.我通過Postgrex,Ecto 2.1.3使用PostgreSQL 9.6。

回答

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

那是我的錯,我通過記錄從一個過程到另一個沒有「重裝」吧。我的錯。 –