migrant_lib 0.17.2

Database migration and configuration library for postgres, sqlite, mysql
Documentation
# Contributing

Thanks for contributing!


## Getting Started

- [Install rust]https://www.rust-lang.org/en-US/install.html
- Install database dependencies (linux):
    - **PostgreSQL**: `apt install postgresql libpq-dev`
    - **SQLite**: `apt install sqlite3 libsqlite3-dev`
    - **MySQL**: See [mysql install docs]https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/
       - [Download the apt repo `.deb`]https://dev.mysql.com/downloads/repo/apt/
       - `dpkg -i mysql-apt-config_<version>_all.deb`
       - `apt update`
       - `apt install mysql-server mysql-shell`
- `cargo build`


## Making Changes

- Please be mindful of the feature gates used to implement functionality with and without database connection crates.
- After making changes, be sure to run the tests!
- This crate makes use of [`cargo-readme`]https://github.com/livioribeiro/cargo-readme (`cargo install cargo-readme`)
  to generate the `README.md` from the crate level documentation in `src/lib.rs`.
  This means `README.md` should never be modified by hand.
  Changes should be made to the crate documentation in `src/lib.rs` and the `readme.sh` script run.


## Testing

The `test.sh` script exists to handle setup and tear-down of testing databases before running library tests,
as well as ensuring the tests are run with and without the various feature flags.
Note: Some commands in this script will ask for sudo access for managing a postgres test database,
and your `mysql` root password must be provided when running locally.


## Submitting Changes

Pull Requests should be made against master.
Travis CI will run the test suite on all PRs.
Remember to update the changelog!