[cli] skip generating entity for ignored tables (#837)
This commit is contained in:
parent
d6831e5295
commit
e0eb8ecf69
@ -111,6 +111,16 @@ pub enum GenerateSubcommands {
|
|||||||
)]
|
)]
|
||||||
tables: Option<String>,
|
tables: Option<String>,
|
||||||
|
|
||||||
|
#[clap(
|
||||||
|
value_parser,
|
||||||
|
long,
|
||||||
|
use_value_delimiter = true,
|
||||||
|
takes_value = true,
|
||||||
|
default_value = "seaql_migrations",
|
||||||
|
help = "Skip generating entity file for specified tables (comma separated)"
|
||||||
|
)]
|
||||||
|
ignore_tables: Vec<String>,
|
||||||
|
|
||||||
#[clap(
|
#[clap(
|
||||||
value_parser,
|
value_parser,
|
||||||
long,
|
long,
|
||||||
|
@ -17,6 +17,7 @@ pub async fn run_generate_command(
|
|||||||
expanded_format,
|
expanded_format,
|
||||||
include_hidden_tables,
|
include_hidden_tables,
|
||||||
tables,
|
tables,
|
||||||
|
ignore_tables,
|
||||||
max_connections,
|
max_connections,
|
||||||
output_dir,
|
output_dir,
|
||||||
database_schema,
|
database_schema,
|
||||||
@ -87,6 +88,10 @@ pub async fn run_generate_command(
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
let filter_skip_tables = |table: &String| -> bool {
|
||||||
|
!ignore_tables.contains(table)
|
||||||
|
};
|
||||||
|
|
||||||
let database_name = if !is_sqlite {
|
let database_name = if !is_sqlite {
|
||||||
// The database name should be the first element of the path string
|
// The database name should be the first element of the path string
|
||||||
//
|
//
|
||||||
@ -130,6 +135,7 @@ pub async fn run_generate_command(
|
|||||||
.into_iter()
|
.into_iter()
|
||||||
.filter(|schema| filter_tables(&schema.info.name))
|
.filter(|schema| filter_tables(&schema.info.name))
|
||||||
.filter(|schema| filter_hidden_tables(&schema.info.name))
|
.filter(|schema| filter_hidden_tables(&schema.info.name))
|
||||||
|
.filter(|schema| filter_skip_tables(&schema.info.name))
|
||||||
.map(|schema| schema.write())
|
.map(|schema| schema.write())
|
||||||
.collect()
|
.collect()
|
||||||
}
|
}
|
||||||
@ -145,6 +151,7 @@ pub async fn run_generate_command(
|
|||||||
.into_iter()
|
.into_iter()
|
||||||
.filter(|schema| filter_tables(&schema.name))
|
.filter(|schema| filter_tables(&schema.name))
|
||||||
.filter(|schema| filter_hidden_tables(&schema.name))
|
.filter(|schema| filter_hidden_tables(&schema.name))
|
||||||
|
.filter(|schema| filter_skip_tables(&schema.name))
|
||||||
.map(|schema| schema.write())
|
.map(|schema| schema.write())
|
||||||
.collect()
|
.collect()
|
||||||
}
|
}
|
||||||
@ -161,6 +168,7 @@ pub async fn run_generate_command(
|
|||||||
.into_iter()
|
.into_iter()
|
||||||
.filter(|schema| filter_tables(&schema.info.name))
|
.filter(|schema| filter_tables(&schema.info.name))
|
||||||
.filter(|schema| filter_hidden_tables(&schema.info.name))
|
.filter(|schema| filter_hidden_tables(&schema.info.name))
|
||||||
|
.filter(|schema| filter_skip_tables(&schema.info.name))
|
||||||
.map(|schema| schema.write())
|
.map(|schema| schema.write())
|
||||||
.collect()
|
.collect()
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user