migratio-cli 0.4.2

CLI support library for migratio database migrations
Documentation

CLI support library for migratio database migrations.

This crate provides the runtime support for migration runner binaries generated by cargo-migratio. It handles CLI argument parsing and executes migration commands against the database.

Example

This crate is typically used by auto-generated runner code, but can also be used directly:

use migratio_cli::{CliArgs, run_sqlite};
use clap::Parser;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let database_url = std::env::var("DATABASE_URL")?;
    let migrator = my_app::migrations::get_migrator();
    let args = CliArgs::parse();
    run_sqlite(migrator, &database_url, args)
}

For PostgreSQL:

use migratio_cli::{CliArgs, run_postgres};
use clap::Parser;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let database_url = std::env::var("DATABASE_URL")?;
    let migrator = my_app::migrations::get_postgres_migrator();
    let args = CliArgs::parse();
    run_postgres(migrator, &database_url, args)
}