Simple SQL migration manager for your project.
Dmitriy Pleshevskiy
b11c07163f
* style: use default instead equal with option value * chore: add non_exhaustive for enums * chore: fix clippy warnings * refac!: single transaction by default BREAKING CHANGES: we remove single transaction flag from cli |
||
---|---|---|
.github | ||
.vscode | ||
migra | ||
migra_cli | ||
sample | ||
.env.sample | ||
.gitignore | ||
Cargo.toml | ||
CODE_OF_CONDUCT.md | ||
docker-compose.yml | ||
LICENSE_APACHE | ||
LICENSE_MIT | ||
README.md |
Migra
Simple SQL migration manager for your project.
Install
cargo install migra-cli
If you want to use dotenv for configure migra cli, just run the following in your terminal.
cargo install migra-cli --features dotenv
Each supported database is located in separate features with a similar name.
The default is postgres
.
For example, if you only want to work with mysql
, you need to disable postgres
and enable mysql
.
cargo install migra-cli --no-default-features --features mysql
Usage
A few steps to get you started
- Initialize migra configuration (Optional)
migra init
- Make your first migration
migra make initial_migration
- Check applied and pending migrations
migra ls
- Upgrade your database
migra up
For more information about the commands, simply run migra help
Supported databases
Database | Feature | Default |
---|---|---|
Postgres | postgres | ✔️ |
MySQL | mysql | ❌ |
Sqlite | sqlite | ❌ |
License
Licensed under either of these:
- Apache License, Version 2.0, (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or https://opensource.org/licenses/MIT)