pub struct ShodhBackupEngine { /* private fields */ }Expand description
Backup engine for creating and managing backups
Implementations§
Source§impl ShodhBackupEngine
impl ShodhBackupEngine
Sourcepub fn backup_path(&self) -> &Path
pub fn backup_path(&self) -> &Path
Get the backup storage path.
Sourcepub fn create_backup(&self, db: &DB, user_id: &str) -> Result<BackupMetadata>
pub fn create_backup(&self, db: &DB, user_id: &str) -> Result<BackupMetadata>
Sourcepub fn create_comprehensive_backup(
&self,
db: &DB,
user_id: &str,
secondary_stores: &[SecondaryStoreRef<'_>],
) -> Result<BackupMetadata>
pub fn create_comprehensive_backup( &self, db: &DB, user_id: &str, secondary_stores: &[SecondaryStoreRef<'_>], ) -> Result<BackupMetadata>
Create a comprehensive backup of the main database, secondary stores, and graph.
Uses RocksDB BackupEngine for the main memories DB and Checkpoint API for secondary stores (todos, reminders, facts, files, feedback, audit) and the knowledge graph database.
Sourcepub fn create_comprehensive_backup_with_graph(
&self,
db: &DB,
user_id: &str,
secondary_stores: &[SecondaryStoreRef<'_>],
graph_db: Option<&DB>,
) -> Result<BackupMetadata>
pub fn create_comprehensive_backup_with_graph( &self, db: &DB, user_id: &str, secondary_stores: &[SecondaryStoreRef<'_>], graph_db: Option<&DB>, ) -> Result<BackupMetadata>
Create a comprehensive backup including the knowledge graph DB.
Sourcepub fn restore_backup(
&self,
user_id: &str,
backup_id: Option<u32>,
restore_path: &Path,
) -> Result<()>
pub fn restore_backup( &self, user_id: &str, backup_id: Option<u32>, restore_path: &Path, ) -> Result<()>
Restore from a specific backup
§Arguments
user_id- User ID to restorebackup_id- Backup ID to restore from (None = latest)restore_path- Path to restore the database to
Sourcepub fn list_backups(&self, user_id: &str) -> Result<Vec<BackupMetadata>>
pub fn list_backups(&self, user_id: &str) -> Result<Vec<BackupMetadata>>
List all available backups for a user
Sourcepub fn restore_comprehensive_backup(
&self,
user_id: &str,
backup_id: Option<u32>,
restore_path: &Path,
secondary_restore_paths: &[(&str, &Path)],
) -> Result<Vec<String>>
pub fn restore_comprehensive_backup( &self, user_id: &str, backup_id: Option<u32>, restore_path: &Path, secondary_restore_paths: &[(&str, &Path)], ) -> Result<Vec<String>>
Restore from a comprehensive backup, including secondary stores.
The secondary_restore_paths map store names to their target restore directories.
Secondary stores are restored by copying the checkpoint directory to the target path.
Auto Trait Implementations§
impl Freeze for ShodhBackupEngine
impl RefUnwindSafe for ShodhBackupEngine
impl Send for ShodhBackupEngine
impl Sync for ShodhBackupEngine
impl Unpin for ShodhBackupEngine
impl UnsafeUnpin for ShodhBackupEngine
impl UnwindSafe for ShodhBackupEngine
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more