Archived
1
0
Fork 0
Simple SQL migration manager for your project.
This repository has been archived on 2024-07-25. You can view files and clone it, but cannot push or open issues or pull requests.
Find a file
Dmitriy Pleshevskiy f98dd4f0c8 feat: single transaction
I added a single transaction option for apply, upgrade, and
downgrade commands, which wraps all migrations into a single
transaction. This gives you the ability to safely roll up
migrations and, if some unforeseen situation occurs, roll them back.

Unfortunately if there is an error in syntax, mysql will not
rollback the migration and commits automatically :( I will
research this issue.

Closes #2
2021-04-24 01:58:19 +03:00
.github Update issue templates 2021-03-26 11:47:52 +03:00
.vscode feat: add mysql database supporting 2021-03-26 02:10:41 +03:00
migra-cli feat: single transaction 2021-04-24 01:58:19 +03:00
sample style: change case in sample schema 2021-02-22 16:28:14 +03:00
.env.sample chore: add sample env 2021-03-02 00:44:35 +03:00
.gitignore chore: init workspace 2021-02-01 23:49:00 +03:00
Cargo.toml chore: merge cli with core 2021-02-05 01:37:25 +03:00
CODE_OF_CONDUCT.md chore: add code of conduct 2021-02-21 18:43:27 +03:00
docker-compose.yml feat: add mysql database supporting 2021-03-26 02:10:41 +03:00
LICENSE_APACHE chore: remove appendix from apache license 2021-02-22 11:49:47 +03:00
LICENSE_MIT fix: typo in license files 2021-02-22 11:47:56 +03:00
README.md doc: update installation guide 2021-03-26 02:22:29 +03:00

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

  • Postgres
  • MySQL

License

Licensed under either of these: