| Crates.io | surreal-migraine-cli |
| lib.rs | surreal-migraine-cli |
| version | 1.1.0 |
| created_at | 2025-12-20 15:30:52.630198+00 |
| updated_at | 2025-12-23 13:38:52.881597+00 |
| description | CLI tool for managing SurrealDB migrations |
| homepage | |
| repository | https://github.com/MordechaiHadad/surreal-migraine |
| max_upload_size | |
| id | 1996630 |
| size | 42,728 |
A tiny CLI and library to generate and manage SurrealDB migration files (numeric or temporal prefixed).
Install
# install (binary) from crates.io
cargo install surreal-migraine-cli
# install (library) from crates.io
cargo add surreal-migraine
# build (binary) locally
cargo build --release
# or build (library) locally
cargo build --release -p surreal-migraine
Usage
# numeric paired (default) — creates a folder with up/down
# either binary name can be used: `smg` or `surrealdb-migraine`
smg add "Create users"
# temporal paired (default)
surrealdb-migraine add --temporal "Add audit table"
# specify directory and increase verbosity
smg add --dir ./migrations -v "Fix schema"
# Single-file mode (legacy behavior)
# Use `--single` to create a single `.surql` file instead of a paired folder
smg add --single "Create users"
surrealdb-migraine add --single --temporal "Add index"
CLI quick reference
add <NAME> — create a migration file using NAME (sanitized).--temporal / -t — use timestamp prefix instead of numeric.--dir <DIR> — override migrations directory (defaults to ./migrations).-v, -vv — increase logging verbosity (debug/trace).Notes on binary names
smg and surrealdb-migraine.cargo install surreal-migraine, Cargo will install the crate's binaries (both smg and surrealdb-migraine when available).# install only `smg` from the current path
cargo install --path . --bin smg
# install only `surrealdb-migraine`
cargo install --path . --bin surrealdb-migraine
Notes
000_..., 001_...).YYYYMMDDHHMMSS and will append a suffix if a collision occurs.