fix discovery
This commit is contained in:
@@ -1,10 +1,14 @@
|
||||
pub mod column;
|
||||
pub mod db;
|
||||
pub mod table;
|
||||
use crate::generator::DatabaseUrl;
|
||||
|
||||
use super::{Module, ModulesContext};
|
||||
use color_eyre::Result;
|
||||
use db::DbType;
|
||||
use serde::Deserialize;
|
||||
use serde_inline_default::serde_inline_default;
|
||||
use table::Table;
|
||||
|
||||
#[derive(Debug, Clone, Deserialize)]
|
||||
#[serde(default)]
|
||||
@@ -83,8 +87,10 @@ impl DiscoveryFilterConfig {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct DiscoveredSchema {
|
||||
pub tables: Vec<Table>,
|
||||
pub database_type: DbType,
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
@@ -114,7 +120,16 @@ impl Module for DiscoveryModule {
|
||||
let url = url.clone();
|
||||
|
||||
let (stmts, db_type) = db::get_tables(url.0, config).await?;
|
||||
tracing::info!(?stmts, ?db_type);
|
||||
let tables = stmts
|
||||
.into_iter()
|
||||
.map(Table::new)
|
||||
.collect::<Result<Vec<Table>>>()?;
|
||||
tracing::info!(?tables, ?db_type);
|
||||
let discovered = DiscoveredSchema {
|
||||
tables,
|
||||
database_type: db_type,
|
||||
};
|
||||
ctx.get_anymap_mut().insert(discovered);
|
||||
// db::generate(ctx).await?;
|
||||
}
|
||||
Ok(())
|
||||
|
||||
Reference in New Issue
Block a user