feat(bin, storage): db versioning (#3130)

This commit is contained in:
Alexey Shekhirin
2023-06-19 17:43:17 +01:00
committed by GitHub
parent d02c87d20e
commit 2b6a0468fc
11 changed files with 204 additions and 17 deletions

View File

@ -10,6 +10,7 @@ use eyre::WrapErr;
use human_bytes::human_bytes;
use reth_db::{database::Database, tables};
use reth_primitives::ChainSpec;
use reth_staged_sync::utils::init::init_db;
use std::sync::Arc;
use tracing::error;
@ -92,13 +93,8 @@ impl Command {
// add network name to data dir
let data_dir = self.datadir.unwrap_or_chain_default(self.chain.chain);
let db_path = data_dir.db_path();
std::fs::create_dir_all(&db_path)?;
// TODO: Auto-impl for Database trait
let db = reth_db::mdbx::Env::<reth_db::mdbx::WriteMap>::open(
db_path.as_ref(),
reth_db::mdbx::EnvKind::RW,
)?;
let db = init_db(&db_path)?;
let mut tool = DbTool::new(&db, self.chain.clone())?;

View File

@ -98,13 +98,8 @@ impl Command {
let data_dir = self.datadir.unwrap_or_chain_default(self.chain.chain);
let db_path = data_dir.db_path();
info!(target: "reth::cli", path = ?db_path, "Opening database");
std::fs::create_dir_all(&db_path)?;
// TODO: Auto-impl for Database trait
let db = reth_db::mdbx::Env::<reth_db::mdbx::WriteMap>::open(
db_path.as_ref(),
reth_db::mdbx::EnvKind::RW,
)?;
let db = Arc::new(init_db(db_path)?);
info!(target: "reth::cli", "Database opened");
let mut tool = DbTool::new(&db, self.chain.clone())?;

View File

@ -120,6 +120,8 @@ impl Command {
info!(target: "reth::cli", path = ?db_path, "Opening database");
let db = Arc::new(init_db(db_path)?);
info!(target: "reth::cli", "Database opened");
let factory = ProviderFactory::new(&db, self.chain.clone());
let mut provider_rw = factory.provider_rw().map_err(PipelineError::Interface)?;