소스 검색

feat: update redb (#1071)

thesimplekid 1 개월 전
부모
커밋
aab85d2083
3개의 변경된 파일13개의 추가작업 그리고 2개의 파일을 삭제
  1. 1 1
      crates/cdk-redb/Cargo.toml
  2. 9 0
      crates/cdk-redb/src/error.rs
  3. 3 1
      crates/cdk-redb/src/wallet/mod.rs

+ 1 - 1
crates/cdk-redb/Cargo.toml

@@ -19,7 +19,7 @@ auth = ["cdk-common/auth"]
 [dependencies]
 async-trait.workspace = true
 cdk-common = { workspace = true, features = ["test"] }
-redb = "2.4.0"
+redb = "2.6.3"
 thiserror.workspace = true
 tracing.workspace = true
 serde.workspace = true

+ 9 - 0
crates/cdk-redb/src/error.rs

@@ -25,6 +25,9 @@ pub enum Error {
     /// Redb Storage Error
     #[error(transparent)]
     Storage(#[from] Box<redb::StorageError>),
+    /// Upgrade Transaction Error
+    #[error(transparent)]
+    Upgrade(#[from] Box<redb::UpgradeError>),
     /// Serde Json Error
     #[error(transparent)]
     Serde(#[from] serde_json::Error),
@@ -111,3 +114,9 @@ impl From<redb::StorageError> for Error {
         Self::Storage(Box::new(e))
     }
 }
+
+impl From<redb::UpgradeError> for Error {
+    fn from(e: redb::UpgradeError) -> Self {
+        Self::Upgrade(Box::new(e))
+    }
+}

+ 3 - 1
crates/cdk-redb/src/wallet/mod.rs

@@ -156,7 +156,9 @@ impl WalletRedbDatabase {
             drop(db);
         }
 
-        let db = Database::create(path)?;
+        let mut db = Database::create(path)?;
+
+        db.upgrade()?;
 
         Ok(Self { db: Arc::new(db) })
     }