pub struct Migration {
pub from_schema: String,
pub from_hash: u64,
pub to_schema: String,
pub to_hash: u64,
pub from_version: SchemaVersion,
pub to_version: SchemaVersion,
pub transform: MigrationFn,
pub description: String,
}Expand description
A registered migration between schema versions.
Fields§
§from_schema: StringSource schema name with version (e.g., “OrderInput@v1”).
from_hash: u64Source schema hash.
to_schema: StringTarget schema name with version (e.g., “OrderInput@v2”).
to_hash: u64Target schema hash.
from_version: SchemaVersionSource version.
to_version: SchemaVersionTarget version.
transform: MigrationFnThe transform function.
description: StringHuman-readable description of what this migration does.
Implementations§
Source§impl Migration
impl Migration
Sourcepub fn new<F>(
from_schema: impl Into<String>,
from_hash: u64,
to_schema: impl Into<String>,
to_hash: u64,
transform: F,
) -> Self
pub fn new<F>( from_schema: impl Into<String>, from_hash: u64, to_schema: impl Into<String>, to_hash: u64, transform: F, ) -> Self
Create a new migration.
Sourcepub fn with_description(self, description: impl Into<String>) -> Self
pub fn with_description(self, description: impl Into<String>) -> Self
Add a description to this migration.
Sourcepub fn apply(&self, arena: &Arena, offset: ArenaOffset) -> Result<ArenaOffset>
pub fn apply(&self, arena: &Arena, offset: ArenaOffset) -> Result<ArenaOffset>
Apply this migration to data at the given offset.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Migration
impl !RefUnwindSafe for Migration
impl Send for Migration
impl Sync for Migration
impl Unpin for Migration
impl !UnwindSafe for Migration
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.