Storage locations
Flowfield splits data across a few well-defined locations so that project identity travels with your repository and execution state stays in one managed workspace.
To use a different workspace directory, set
FLOWFIELD_DATA_DIR or pass --data-dir /absolute/path before the serve command:
Automatic upgrades
When the service starts, Flowfield upgrades supported databases automatically. Before changing an existing database, it saves a verified snapshot in~/.flowfield/backups/ (or your chosen data directory). All migration steps run in a single transaction — if anything goes wrong, the entire upgrade rolls back, startup stops, and Flowfield prints recovery instructions.
To upgrade safely:
- Stop the running service before installing a new build.
- Start Flowfield with the new build — migrations run automatically.
- The worker queue is paused after restart; review any interrupted work before re-enabling it.
Inspect storage (offline)
These two commands work without a running service and never initialize or modify a database:--json for structured output. To inspect an alternate workspace, put --data-dir /absolute/path before storage:
Recovery
A failed migration normally requires only a corrected build and another start attempt. If you need to restore the pre-upgrade database explicitly, follow these steps:1
Stop the service
Make sure the Flowfield service is not running before you attempt recovery.
2
List available snapshots
3
Restore the snapshot
4
Retry the upgrade
Start Flowfield again to retry the migration against the restored database.
Full backups
Flowfield’s automatic snapshots cover database migration recovery only. For a complete backup of your work, stop the service and copy the entire~/.flowfield/ directory together with the relevant project repositories. Keep those copies together — the database references project paths, and recovering from disk loss or corruption requires both.
Take a full backup before every major upgrade.