Archived
1
0
Fork 0
This repository has been archived on 2024-07-25. You can view files and clone it, but cannot push or open issues or pull requests.
migra/migra-cli/src/opts.rs

43 lines
876 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),
Make(MakeCommandOpt),
2021-02-02 00:53:33 +03:00
#[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
}
#[derive(Debug, StructOpt)]
pub(crate) struct MakeCommandOpt {
#[structopt(parse(from_str))]
pub migration_name: String,
}