essential_app_utils/
db.rs1use essential_builder_db as builder_db;
2use essential_node as node;
3
4pub struct Dbs {
5 pub builder: builder_db::ConnectionPool,
6 pub node: node::db::ConnectionPool,
7}
8
9pub async fn new_dbs() -> Dbs {
10 let config = node::db::pool::Config {
11 source: node::db::pool::Source::Memory(uuid::Uuid::new_v4().to_string()),
12 ..Default::default()
13 };
14 let node = node::db::ConnectionPool::with_tables(&config).unwrap();
15 init_node_db(&node).await.unwrap();
16 let config = builder_db::pool::Config {
17 source: builder_db::pool::Source::Memory(uuid::Uuid::new_v4().to_string()),
18 ..Default::default()
19 };
20 let builder = builder_db::ConnectionPool::with_tables(&config).unwrap();
21 Dbs { builder, node }
22}
23
24pub async fn init_node_db(db: &node::db::ConnectionPool) -> anyhow::Result<()> {
25 let big_bang = essential_node_types::BigBang::default();
26
27 essential_node::ensure_big_bang_block(db, &big_bang).await?;
28 Ok(())
29}