You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+32-1Lines changed: 32 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -141,7 +141,9 @@ dryrun lint
141
141
142
142
All commands work offline from the schema file. Each project has its own `dryrun.toml` and `.dryrun/`, there is no global state. Add `.dryrun/` to your `.gitignore`.
143
143
144
-
Snapshots live in `~/.dryrun/history.db`, keyed by `(project_id, database_id)`. The MCP server reads from the history db first and falls back to `.dryrun/schema.json` for first-run or shared snapshots. After `dryrun snapshot take` it will switch to DB.
144
+
Snapshots live in `.dryrun/history.db`, keyed by `(project_id, database_id)`. The MCP server reads from the history db first and falls back to `.dryrun/schema.json` for first-run or shared snapshots. After `dryrun snapshot take` it will switch to DB.
145
+
146
+
Static file `schema.json` will be deprecated in future.
> **Note:** the MCP server is currently single-database. Using the default profile. Or the option is to run one `dryrun mcp-serve` process per database. Native multi-database support inside one MCP process is tracked in [#7](https://github.com/boringSQL/dryrun/issues/7).
195
197
198
+
### Sharing snapshots across a team
199
+
200
+
DryRun's value increases in team setup. Multiple developers can pull snapshots from any POSIX compliant directory.
201
+
202
+
To publish the snapshots you need
203
+
204
+
```sh
205
+
cd project_name
206
+
207
+
# apture from the live DB (use cwd name for project name)
208
+
dryrun init --db "$DATABASE_URL"
209
+
dryrun snapshot take --db "$DATABASE_URL"
210
+
dryrun snapshot push --to-path ./snapshots --all
211
+
```
212
+
213
+
Developers can then import the snapshots to the local history
Snapshots are content-addressed (`{project}/{database}/{ts}-{hash}.json.zst`) and idempotent: pushing the same snapshot twice won't change it.
220
+
221
+
The simplest deployment is a dedicated git repo. Create the snapshots repo and add `*.json.zst binary` to `.gitattributes` so git stops trying to diff bundles.`
222
+
223
+
Offline tools (`lint`, `check_migration`, `drift`) work immediately after the pull.
224
+
225
+
No server, no credentials. Same promise as before.
226
+
196
227
## MCP server
197
228
198
229
Add `dryrun` to your AI assistant. If you installed via Homebrew, `dryrun` is already on your PATH:
0 commit comments