use structopt::StructOpt;
#[derive(Debug, StructOpt)]
#[structopt(name = "classify")]
pub struct ApplicationArguments {
#[structopt(subcommand)]
pub command: Command,
}
#[derive(Debug, StructOpt)]
pub enum Command {
#[structopt(name = "mysql")]
Mysql(Mysql),
#[structopt(name = "postgres")]
Postgres(Postgres),
#[structopt(name = "sqlite")]
Sqlite(Sqlite),
#[structopt(name = "clickhouse")]
Clickhouse(Clickhouse),
#[structopt(name = "export")]
Export,
}
#[derive(Debug, StructOpt)]
pub struct Mysql {
#[structopt(short = "f", default_value = "./reverse.yml")]
pub file: String,
#[structopt(short = "p", default_value = "templates/*")]
pub template_path: String,
#[structopt(short = "n", default_value = "mysql.tera")]
pub template_name: String,
#[structopt(short = "c", default_value = "")]
pub custom_field_type: String,
#[structopt(short = "s", default_value = "rs")]
pub suffix: String,
}
#[derive(Debug, StructOpt)]
pub struct Postgres {
#[structopt(short = "f", default_value = "./reverse.yml")]
pub file: String,
#[structopt(short = "p", default_value = "templates/*")]
pub template_path: String,
#[structopt(short = "n", default_value = "postgres.tera")]
pub template_name: String,
#[structopt(short = "c", default_value = "")]
pub custom_field_type: String,
#[structopt(short = "s", default_value = "rs")]
pub suffix: String,
}
#[derive(Debug, StructOpt)]
pub struct Sqlite {
#[structopt(short = "f", default_value = "./reverse.yml")]
pub file: String,
#[structopt(short = "p", default_value = "templates/*")]
pub template_path: String,
#[structopt(short = "n", default_value = "sqlite.tera")]
pub template_name: String,
#[structopt(short = "c", default_value = "")]
pub custom_field_type: String,
#[structopt(short = "s", default_value = "rs")]
pub suffix: String,
}
#[derive(Debug, StructOpt)]
pub struct Clickhouse {
#[structopt(short = "f", default_value = "./reverse.yml")]
pub file: String,
#[structopt(short = "p", default_value = "templates/*")]
pub template_path: String,
#[structopt(short = "n", default_value = "clickhouse.tera")]
pub template_name: String,
#[structopt(short = "c", default_value = "")]
pub custom_field_type: String,
#[structopt(short = "s", default_value = "rs")]
pub suffix: String,
}