use clap::Subcommand;
pub mod config;
pub mod utils;
pub mod commands;
pub mod ui;
#[derive(Subcommand)]
pub enum MigrateCommands {
#[command(alias = "c")]
Create {
name: String,
#[arg(short = 't', long, default_value = "sql", value_parser = ["sql", "rust"])]
migration_type: String,
},
#[command(alias = "r")]
Run {
#[arg(long)]
database_url: Option<String>,
#[arg(long)]
dry_run: bool,
#[arg(long)]
target: Option<i64>,
},
#[command(alias = "b")]
Rollback {
#[arg(long, short = 't')]
to: i64,
#[arg(long)]
database_url: Option<String>,
#[arg(long)]
dry_run: bool,
},
#[command(alias = "s")]
Status {
#[arg(long)]
database_url: Option<String>,
#[arg(long)]
detailed: bool,
},
#[command(alias = "v")]
Validate {
#[arg(long)]
check_gaps: bool,
#[arg(long)]
verify_checksums: bool,
},
#[command(alias = "l")]
List {
#[arg(long)]
pending: bool,
#[arg(long)]
applied: bool,
},
}