Time travel and diffing
Point-in-time queries
Firestore’s point-in-time recovery (PITR) lets you read your data as it existed at an earlier moment. FireFetch exposes this as a clock in the query bar.
Toggle it on and choose a timestamp — presets for one hour ago, six hours ago, yesterday and seven days ago, or an exact time you type. Then browse and query normally. Everything works as usual; you are simply looking at a different moment.
Requirements
PITR must be enabled on the database in Google Cloud, and it has a retention window. FireFetch reads your window and will not let you choose a timestamp outside it — you find out before running the query rather than after it fails.
If a database does not have PITR enabled, the control says so rather than offering something that cannot work.
Deleted documents
A past timestamp includes documents that have since been deleted. This is usually why people reach for time travel in the first place.
You can select those documents and restore them into the live database. Restoring is a write: it requires write access and is recorded in the change history.
Collection diffing
Time travel answers what did this look like? Diffing answers what changed?
Compare any two of:
- The live collection
- The same collection at a past timestamp
- A snapshot saved earlier
- A file on disk
Results are grouped into added, removed, changed and unchanged. Expanding a changed document shows which individual fields differ and what each side holds — not merely that the document is different.
What this is good for
- Auditing a data migration while it is still running
- Confirming a backfill touched only what it should have
- Comparing staging against production before a release
- Reconstructing what a document looked like when a bug was reported
Something unclear or out of date? Email[email protected].