- Home
- Reverse Engineering Tools
- Refinery
On the recordRead 4 Oct 202614 facts
Refinery
Plans and prices
Refinery
Free
MIT-licensed SQL migration toolkit · database drivers must be selected as features
Read 4 Oct 2026 · github.com
On the record
- Additional drivers
- The maintainers say limited bandwidth favors maintaining additional database drivers in external repositories; the README names Klickhouse as an example.github.com · read 4 Oct 2026
- Embedded migrations
- The project can bake migrations into a binary so no additional files are needed when deployed.github.com · read 4 Oct 2026
- License
- The project is licensed under the MIT License.github.com · read 4 Oct 2026
- Migration formats
- Migrations can be SQL files or Rust modules with a migration function that returns a String.github.com · read 4 Oct 2026
- Migration tracking
- Refinery records applied migration versions and metadata, then checks for divergent or missing migrations before executing unapplied ones.github.com · read 4 Oct 2026
- Purpose
- Refinery is a SQL migration toolkit for Rust that runs migrations on a provided database connection.github.com · read 4 Oct 2026
- Rollback
- To undo a migration, users must create a new migration and write the changes that reverse it.github.com · read 4 Oct 2026
- Run modes
- Migrations can be embedded in Rust code or run through the refinery_cli command-line tool.github.com · read 4 Oct 2026
- Rust support
- The project aims to support stable Rust, the previous Rust version, and nightly.github.com · read 4 Oct 2026
- Source availability
- The project is published as a public GitHub repository.github.com · read 4 Oct 2026
- SQLx
- The README says SQLx can be used by providing a Config that implements Migrate.github.com · read 4 Oct 2026
- Supported drivers
- The README lists postgres, tokio-postgres, mysql, mysql_async, rusqlite, and tiberius as supported drivers.github.com · read 4 Oct 2026
- Transactions
- By default, each migration runs in its own transaction; grouped mode can wrap all migrations in one transaction.github.com · read 4 Oct 2026
- Version limit
- Migration versions default to signed 32-bit integers; the int8-versions feature enables 64-bit versions and must be enabled before use on a database.github.com · read 4 Oct 2026