Add "--include-hidden-tables" flag
This commit is contained in:
parent
10d670e472
commit
1765ac953b
@ -34,6 +34,12 @@ pub fn build_cli() -> App<'static, 'static> {
|
|||||||
.help("Entity file output directory")
|
.help("Entity file output directory")
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.default_value("./"),
|
.default_value("./"),
|
||||||
|
)
|
||||||
|
.arg(
|
||||||
|
Arg::with_name("INCLUDE_HIDDEN_TABLES")
|
||||||
|
.long("include-hidden-tables")
|
||||||
|
.help("Generate entity file for hidden tables (i.e. table name starts with an underscore)")
|
||||||
|
.takes_value(false),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
.setting(AppSettings::SubcommandRequiredElseHelp);
|
.setting(AppSettings::SubcommandRequiredElseHelp);
|
||||||
|
@ -24,6 +24,14 @@ async fn run_generate_command(matches: &ArgMatches<'_>) -> Result<(), Box<dyn Er
|
|||||||
("entity", Some(args)) => {
|
("entity", Some(args)) => {
|
||||||
let url = args.value_of("DATABASE_URL").unwrap();
|
let url = args.value_of("DATABASE_URL").unwrap();
|
||||||
let output_dir = args.value_of("OUTPUT_DIR").unwrap();
|
let output_dir = args.value_of("OUTPUT_DIR").unwrap();
|
||||||
|
let include_hidden_tables = args.is_present("INCLUDE_HIDDEN_TABLES");
|
||||||
|
let filter_hidden_tables = |table: &str| -> bool {
|
||||||
|
if include_hidden_tables {
|
||||||
|
true
|
||||||
|
} else {
|
||||||
|
!table.starts_with("_")
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
let table_stmts = if url.starts_with("mysql://") {
|
let table_stmts = if url.starts_with("mysql://") {
|
||||||
use sea_schema::mysql::discovery::SchemaDiscovery;
|
use sea_schema::mysql::discovery::SchemaDiscovery;
|
||||||
@ -37,6 +45,7 @@ async fn run_generate_command(matches: &ArgMatches<'_>) -> Result<(), Box<dyn Er
|
|||||||
schema
|
schema
|
||||||
.tables
|
.tables
|
||||||
.into_iter()
|
.into_iter()
|
||||||
|
.filter(|schema| filter_hidden_tables(&schema.info.name))
|
||||||
.map(|schema| schema.write())
|
.map(|schema| schema.write())
|
||||||
.collect()
|
.collect()
|
||||||
} else if url.starts_with("postgres://") {
|
} else if url.starts_with("postgres://") {
|
||||||
@ -50,6 +59,7 @@ async fn run_generate_command(matches: &ArgMatches<'_>) -> Result<(), Box<dyn Er
|
|||||||
schema
|
schema
|
||||||
.tables
|
.tables
|
||||||
.into_iter()
|
.into_iter()
|
||||||
|
.filter(|schema| filter_hidden_tables(&schema.info.name))
|
||||||
.map(|schema| schema.write())
|
.map(|schema| schema.write())
|
||||||
.collect()
|
.collect()
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user