enhance: compact & upgrade database
This commit is contained in:
7
sdgb-cli/src/cache/mod.rs
vendored
7
sdgb-cli/src/cache/mod.rs
vendored
@@ -3,9 +3,12 @@ use std::sync::LazyLock;
|
|||||||
use redb::{ReadTransaction, Table, TableDefinition, WriteTransaction};
|
use redb::{ReadTransaction, Table, TableDefinition, WriteTransaction};
|
||||||
|
|
||||||
static DATABASE: LazyLock<redb::Database> = LazyLock::new(|| {
|
static DATABASE: LazyLock<redb::Database> = LazyLock::new(|| {
|
||||||
redb::Database::builder()
|
let mut db = redb::Database::builder()
|
||||||
.create("players.redb")
|
.create("players.redb")
|
||||||
.expect("failed to open database")
|
.expect("failed to open database");
|
||||||
|
_ = db.upgrade();
|
||||||
|
_ = db.compact();
|
||||||
|
db
|
||||||
});
|
});
|
||||||
|
|
||||||
pub const PLAYERS: TableDefinition<'_, u32, Vec<u8>> = redb::TableDefinition::new("players");
|
pub const PLAYERS: TableDefinition<'_, u32, Vec<u8>> = redb::TableDefinition::new("players");
|
||||||
|
|||||||
@@ -44,6 +44,9 @@ static EARLY_QUIT: AtomicBool = AtomicBool::new(false);
|
|||||||
async fn main() -> Result<(), Box<dyn snafu::Error>> {
|
async fn main() -> Result<(), Box<dyn snafu::Error>> {
|
||||||
nyquest_preset::register();
|
nyquest_preset::register();
|
||||||
|
|
||||||
|
#[cfg(feature = "fetchall")]
|
||||||
|
let _ = cache::init_db();
|
||||||
|
|
||||||
let logger = spdlog::default_logger().fork_with(|log| {
|
let logger = spdlog::default_logger().fork_with(|log| {
|
||||||
log.set_level_filter(MoreSevereEqual(if cfg!(debug_assertions) {
|
log.set_level_filter(MoreSevereEqual(if cfg!(debug_assertions) {
|
||||||
Level::Debug
|
Level::Debug
|
||||||
|
|||||||
@@ -90,7 +90,6 @@ where
|
|||||||
A::Response: Encode + for<'a> BorrowDecode<'a, ()> + HasUid,
|
A::Response: Encode + for<'a> BorrowDecode<'a, ()> + HasUid,
|
||||||
{
|
{
|
||||||
let user_ids = user_ids.into();
|
let user_ids = user_ids.into();
|
||||||
let _ = cache::init_db();
|
|
||||||
let read = cache::read_txn()?;
|
let read = cache::read_txn()?;
|
||||||
let write = cache::write_txn()?;
|
let write = cache::write_txn()?;
|
||||||
let config = sdgb_api::bincode::config::Configuration::<
|
let config = sdgb_api::bincode::config::Configuration::<
|
||||||
|
|||||||
Reference in New Issue
Block a user