Skip to main content

Use Cases

QA Test Data Reset

QA testers need a known database state before each test run. With traditional setups, this means SQL dump/restore cycles that take 5-20 minutes.
Each checkout takes ~3-5 seconds regardless of database size, because the tree is materialized from the object pool (only changed files are touched).

Feature Branch Isolation

Switch database state as you switch code branches. No migration-rollback dance.

Pre-Migration Testing

Before running a destructive migration, snapshot the current state:

Load Testing Baseline

Create a consistent baseline for load tests:

CI Pipeline Database State

In CI, restore a known database state before running tests:
Graft’s exit codes (0 = success, 1 = failure) integrate naturally with CI pipelines.

Experiment Safely

Try schema changes or data transformations in isolation, knowing you can always revert: