12 releases (5 breaking)

0.6.0 Jun 12, 2021
0.5.0 May 16, 2021
0.4.0 Mar 25, 2021
0.3.2 Mar 24, 2021
0.1.4 Feb 22, 2021

#165 in #migration

32 downloads per month

MIT/Apache

63KB
1.5K SLoC

Migra

CI unsafe forbidden Crates.io Crates.io

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

  1. Initialize migra configuration (Optional)
    migra init
    
  2. Make your first migration
    migra make initial_migration
    
  3. Check applied and pending migrations
    migra ls
    
  4. 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:

Dependencies

~10–27MB
~439K SLoC