pub trait Migration {
    // Required methods
    fn migrate(
        &self,
        _db: RocksDB,
        _pb: Arc<dyn Fn(u64) -> ProgressBar + Send + Sync>
    ) -> Result<RocksDB, Error>;
    fn version(&self) -> &str;

    // Provided method
    fn expensive(&self) -> bool { ... }
}
Expand description

TODO(doc): @quake

Required Methods§

source

fn migrate( &self, _db: RocksDB, _pb: Arc<dyn Fn(u64) -> ProgressBar + Send + Sync> ) -> Result<RocksDB, Error>

TODO(doc): @quake

source

fn version(&self) -> &str

returns migration version, use date +'%Y%m%d%H%M%S' timestamp format

Provided Methods§

source

fn expensive(&self) -> bool

Will cost a lot of time to perform this migration operation.

Override this function for Migrations which could be executed very fast.

Implementors§