migra/migra-cli/src/opts.rs

35 lines
717 B
Rust
Raw Normal View History

2021-02-02 00:53:33 +03:00
use std::path::PathBuf;
2021-01-31 02:54:23 +03:00
pub use structopt::StructOpt;
#[derive(Debug, StructOpt)]
2021-02-02 00:53:33 +03:00
#[structopt(bin_name = "migra", name = "Migra")]
pub(crate) struct AppOpt {
#[structopt(short, long)]
pub config: Option<PathBuf>,
#[structopt(subcommand)]
pub command: Command,
}
#[derive(Debug, StructOpt)]
pub(crate) enum Command {
2021-01-31 02:54:23 +03:00
Init,
2021-02-02 00:53:33 +03:00
Apply(ApplyCommandOpt),
#[structopt(name = "list", visible_alias = "ls")]
List,
2021-02-02 00:55:41 +03:00
#[structopt(name = "upgrade", visible_alias = "up")]
Upgrade,
#[structopt(name = "downgrade", visible_alias = "down")]
Downgrade,
}
#[derive(Debug, StructOpt)]
2021-02-02 00:53:33 +03:00
pub(crate) struct ApplyCommandOpt {
#[structopt(parse(from_str))]
pub file_name: String,
2021-01-31 02:54:23 +03:00
}