Using SeedQL
Snapshots
Capture a project's schema at a point in time, and restore it later.
A snapshot records your project's schema as it was at a moment: tables, columns, types, foreign keys. It is a structural capture, not a copy of your rows.
Open a project and go to Snapshots.
Why bother
Schemas move. Somebody adds a column, renames a table, drops a constraint. When generation starts behaving differently, the useful question is "what changed?", and a snapshot is what lets you answer it rather than guess.
The common uses:
- Capture before a migration, so you can compare after
- Keep a known-good structure to restore to when an experiment goes sideways
- Give a scheduled backup something to write to on a cadence
Capturing
Click Capture. That is the whole flow. The snapshot is timestamped and listed newest first.
Pinning
Pinned snapshots stay put and are exempt from cleanup. Pin the ones that mean something, such as the state before a big migration, so they do not get lost among routine captures.
Restoring
Restore returns the project to that snapshot's schema.
Restoring affects the project's understanding of your structure. It does not reach into your database and undo migrations, and it does not delete rows. If your real schema has moved on, restoring an old snapshot will make SeedQL generate against a structure that no longer matches, and the push will fail on the mismatch. Restore is for recovering SeedQL's view, not for rolling back your database.
Deleting
Snapshots can be deleted, with a confirmation. Deletion is permanent.
Scheduled snapshots
On Business and Enterprise, snapshots can be captured automatically on a cadence. See Schedules.