rewrite generator
This commit is contained in:
21
src/main.rs
21
src/main.rs
@@ -1,6 +1,5 @@
|
||||
mod config;
|
||||
mod generate;
|
||||
use std::{path::PathBuf, str::FromStr};
|
||||
mod generator;
|
||||
|
||||
use clap::Parser;
|
||||
use color_eyre::{eyre::eyre, Report, Result};
|
||||
@@ -36,9 +35,12 @@ async fn main() -> Result<()> {
|
||||
.extract()?;
|
||||
tracing::info!(?config);
|
||||
tracing::info!(?args);
|
||||
|
||||
let mut handlebars = Handlebars::new();
|
||||
|
||||
let output_dir = &config.output.path;
|
||||
let output_internal_entities = output_dir.join("_entities");
|
||||
let (_, table_stmts) = generate::get_tables(args.database_url, &config).await?;
|
||||
let (_, table_stmts) = generator::discover::get_tables(args.database_url, &config).await?;
|
||||
let writer_context = config.clone().into();
|
||||
let output = EntityTransformer::transform(table_stmts.clone())?.generate(&writer_context);
|
||||
let mut files = output
|
||||
@@ -46,12 +48,13 @@ async fn main() -> Result<()> {
|
||||
.into_iter()
|
||||
.map(|OutputFile { name, content }| (output_internal_entities.join(name), content))
|
||||
.collect::<Vec<_>>();
|
||||
let generate_files = generate::generate_models(table_stmts, config.clone())
|
||||
.await?
|
||||
.into_iter()
|
||||
.map(|OutputFile { name, content }| (output_dir.join(name), content))
|
||||
.collect::<Vec<_>>();
|
||||
files.extend(generate_files);
|
||||
generator::update_files(table_stmts, config.clone(), &handlebars).await?;
|
||||
// let generate_files = generator::generate_models(table_stmts, config.clone())
|
||||
// .await?
|
||||
// .into_iter()
|
||||
// .map(|OutputFile { name, content }| (output_dir.join(name), content))
|
||||
// .collect::<Vec<_>>();
|
||||
// files.extend(generate_files);
|
||||
tracing::info!("Generated {} files", files.len());
|
||||
fs::create_dir_all(&output_internal_entities).await?;
|
||||
let progress_bar = ProgressBar::new((files.len() * 2) as u64)
|
||||
|
||||
Reference in New Issue
Block a user