pub struct MigrationSection {
pub name: String,
pub description: Option<String>,
pub mode: TransactionMode,
pub timeout: Duration,
pub lock_timeout: Option<Duration>,
pub retry_config: Option<RetryConfig>,
pub sql: String,
pub raw_header: String,
pub module: Option<String>,
pub remaps: Option<String>,
pub start_line: usize,
}Expand description
A section within a migration file
Fields§
§name: StringUnique name for this section within the migration
description: Option<String>Optional human-readable description for logging
mode: TransactionModeTransaction mode for this section
timeout: DurationMaximum execution time for this section (statement_timeout)
lock_timeout: Option<Duration>Maximum time to wait for locks (lock_timeout)
retry_config: Option<RetryConfig>Retry configuration (optional)
sql: StringThe SQL to execute for this section
raw_header: StringThe raw header line(s) of this section (the -- pgmt:section line plus
any -- pgmt: attribute continuation lines), exactly as written.
Empty for the implicit header-less default section. It participates
in the per-section checksum because module=/remaps= attributes are
attribution facts pinned alongside the body.
module: Option<String>Owning module (modules feature). None = the unmoduled base — also
what every pre-modules migration parses as.
remaps: Option<String>Prior owner of this section’s objects (re-anchoring baselines and their
paired acquisition migration sections only): a module name, or
“(unmoduled)” for the base. None for plain and ordinary sections.
Provenance-cut guarantees at most one source, so this is a single
value, not a list. Establishment derivation reads it.
start_line: usizeLine number where this section starts (for error reporting)
Implementations§
Source§impl MigrationSection
impl MigrationSection
Sourcepub fn checksum_content(&self) -> String
pub fn checksum_content(&self) -> String
The exact content hashed for this section’s checksum: the raw header
line(s) followed by the body SQL. The header carries module=/remaps=
attribution, so it is part of the immutable unit. The header-less
default section hashes its body alone.
Trait Implementations§
Source§impl Clone for MigrationSection
impl Clone for MigrationSection
Source§impl Debug for MigrationSection
impl Debug for MigrationSection
Source§impl PartialEq for MigrationSection
impl PartialEq for MigrationSection
impl StructuralPartialEq for MigrationSection
Auto Trait Implementations§
impl Freeze for MigrationSection
impl RefUnwindSafe for MigrationSection
impl Send for MigrationSection
impl Sync for MigrationSection
impl Unpin for MigrationSection
impl UnsafeUnpin for MigrationSection
impl UnwindSafe for MigrationSection
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
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> 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> ⓘ
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> ⓘ
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