Thanks for contributing!
- Install rust
- Install database dependencies (linux):
- PostgreSQL:
apt install postgresql libpq-dev
- SQLite:
apt install sqlite3 libsqlite3-dev
- MySQL: See mysql install docs
- Download the apt repo
.deb
dpkg -i mysql-apt-config_<version>_all.deb
apt update
apt install mysql-server mysql-shell
- Download the apt repo
- PostgreSQL:
cargo build
- 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 (see below)!
- This crate makes use of
cargo-readme
(cargo install cargo-readme
) to generate theREADME.md
from the crate level documentation insrc/lib.rs
. This meansREADME.md
should never be modified by hand. Changes should be made to the crate documentation insrc/lib.rs
and thereadme.sh
script run.
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.
./test.sh <mysql-root-pass>
Pull Requests should be made against master. Travis CI will run the test suite on all PRs. Remember to update the changelog!