Pg-Migrator is a simple, macro-free, crate for running migrations on Postgres databases.
For rust-postgres
use:
[dependencies]
pg-migrator = { version = "0.1.0", features = ["postgres"] }
For tokio-postgres
use:
[dependencies]
pg-migrator = { version = "0.1.0", features = ["tokio-postgres"] }
Then, create your Postgres/Tokio Postgres connection as always and run the migrations:
use postgres::{Client, NoTls, Error};
fn main() {
let mut client = Client::connect("postgresql://postgres:postgres@localhost/library", NoTls).unwrap();
PostgresMigrator::new("./migrations")
.migrate(&mut conn)
.unwrap();
}