pub enum MigrationStrategy {
AtomicReplace,
DualWriteThenCutover,
}Expand description
How files are replaced during migration.
Variants§
AtomicReplace
Write new files file-by-file, replacing each old file as it completes. Lower peak storage. During migration, some shards have old column, others new.
DualWriteThenCutover
Write all new files first (old files untouched), then commit a single Replace snapshot swapping all old files for new ones atomically. Higher peak storage (2× during migration), but reads always see a consistent view.
Trait Implementations§
Source§impl Clone for MigrationStrategy
impl Clone for MigrationStrategy
Source§fn clone(&self) -> MigrationStrategy
fn clone(&self) -> MigrationStrategy
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MigrationStrategy
impl Debug for MigrationStrategy
impl Eq for MigrationStrategy
Source§impl PartialEq for MigrationStrategy
impl PartialEq for MigrationStrategy
Source§fn eq(&self, other: &MigrationStrategy) -> bool
fn eq(&self, other: &MigrationStrategy) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for MigrationStrategy
Auto Trait Implementations§
impl Freeze for MigrationStrategy
impl RefUnwindSafe for MigrationStrategy
impl Send for MigrationStrategy
impl Sync for MigrationStrategy
impl Unpin for MigrationStrategy
impl UnsafeUnpin for MigrationStrategy
impl UnwindSafe for MigrationStrategy
Blanket Implementations§
impl<T> Allocation for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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