Repository: diesel-rs/diesel
File: diesel_cli/src/cli.rs (Rust)

Code before:
        ))
        .subcommand(SubCommand::with_name("reset").about(
            "Resets your database by dropping the database specified \
             in your DATABASE_URL and then running `diesel database setup`.",
        ))
        .subcommand(
            SubCommand::with_name("drop")
                .about("Drops the database specified in your DATABASE_URL.")
                .setting(AppSettings::Hidden),
        )
        .setting(AppSettings::SubcommandRequiredElseHelp);

    let generate_bash_completion_subcommand = SubCommand::with_name("bash-completion")
        .about("DEPRECATED: Generate bash completion script for the diesel command.");

    let generate_completions_subcommand = SubCommand::with_name("completions")
        .about("Generate shell completion scripts for the diesel command.")
        .arg(
            Arg::with_name("SHELL")
                .index(1)
                .required(true)
                .possible_values(&Shell::variants()),
        );

    let features_subcommand = SubCommand::with_name("features").about(
        "lists all the database engines available with this version of diesel"
    );

    let infer_schema_subcommand = SubCommand::with_name("print-schema")
        .setting(AppSettings::VersionlessSubcommands)
        .about("Print table definitions for database schema.")
        .arg(
            Arg::with_name("schema")
                .long("schema")
                .short("s")
                .takes_value(true)
                .help("The name of the schema."),
        )
        .arg(
            Arg::with_name("table-name")
                .index(1)
                .takes_value(true)
                .multiple(true)
                .help("Table names to filter (default only-tables if not empty)"),
        )
        .arg(
            Arg::with_name("only-tables")
                .short("o")
                .long("only-tables")
                .help("Only include tables from table-name that matches regexp")
                .conflicts_with("except-tables"),

Review comment (suggestion):
```suggestion
        "Lists all the database engines available with this version of diesel"
```

Code after:
                             be perfect. Be sure to check whether they meet \
                             your expectations. Adjust the generated output \
                             if that's not the case.",
                        )
                        .default_missing_value("NOT_SET")
                        .num_args(0..=1)
                        .require_equals(true),
                ),
        )
        .subcommand_required(true)
        .arg_required_else_help(true);

    let setup_subcommand = Command::new("setup").arg(migration_dir_arg()).about(
        "Creates the migrations directory, creates the database \
             specified in your DATABASE_URL, and runs existing migrations.",
    );

    let database_subcommand = Command::new("database")
        .alias("db")
        .arg(migration_dir_arg())
        .about("A group of commands for setting up and resetting your database.")
        .subcommand(Command::new("setup").about(
            "Creates the database specified in your DATABASE_URL, \
             and then runs any existing migrations.",
        ))
        .subcommand(Command::new("reset").about(
            "Resets your database by dropping the database specified \
             in your DATABASE_URL and then running `diesel database setup`.",
        ))
        .subcommand(
            Command::new("drop")
                .about("Drops the database specified in your DATABASE_URL.")
                .hide(true),
        )
        .subcommand_required(true)
        .arg_required_else_help(true);

    let generate_completions_subcommand = Command::new("completions")
        .about("Generate shell completion scripts for the diesel command.")
        .arg(
            Arg::new("SHELL")
                .index(1)
                .required(true)
                .value_parser(EnumValueParser::<Shell>::new()),
        );

    let infer_schema_subcommand = Command::new("print-schema")
        .about("Print table definitions for database schema.")
        .arg(
            Arg::new("schema")
                .long("schema")