diff --git a/fuel-core/src/args.rs b/fuel-core/src/args.rs index 08f4db2f798..a4f8ca5b6c0 100644 --- a/fuel-core/src/args.rs +++ b/fuel-core/src/args.rs @@ -1,6 +1,7 @@ use crate::service::{Config, DbType}; use std::{env, io, net, path::PathBuf, string::ToString}; use structopt::StructOpt; +use strum::VariantNames; use tracing_subscriber::filter::EnvFilter; lazy_static::lazy_static! { @@ -23,7 +24,7 @@ pub struct Opt { )] pub database_path: PathBuf, - #[structopt(long = "db-type", default_value = "RocksDb")] + #[structopt(long = "db-type", default_value = "rocks-db", possible_values = &DbType::VARIANTS, case_insensitive = true)] pub database_type: DbType, /// Specify either an alias to a built-in configuration or filepath to a JSON file. diff --git a/fuel-core/src/service.rs b/fuel-core/src/service.rs index a98c4a28956..c5bf45fbaf3 100644 --- a/fuel-core/src/service.rs +++ b/fuel-core/src/service.rs @@ -15,7 +15,7 @@ use std::{ path::PathBuf, sync::Arc, }; -use strum_macros::{Display, EnumString}; +use strum_macros::{Display, EnumString, EnumVariantNames}; use thiserror::Error; use tokio::task::JoinHandle; @@ -40,7 +40,8 @@ impl Config { } } -#[derive(Clone, Debug, PartialEq, EnumString, Display)] +#[derive(Clone, Debug, Display, PartialEq, EnumString, EnumVariantNames)] +#[strum(serialize_all = "kebab_case")] pub enum DbType { InMemory, RocksDb,