pub struct FixSuggestion {
pub rule_id: String,
pub title: String,
pub explanation: String,
pub fixed_sql: Option<String>,
pub migration_steps: Option<Vec<String>>,
pub severity: FixSeverity,
pub docs_url: Option<String>,
pub auto_fixable: bool,
}Expand description
A single recommended fix for a risky migration operation.
Fields§
§rule_id: StringShort rule identifier, e.g. “R01”.
title: StringShort, actionable title shown in the terminal and CI comments.
explanation: StringFull explanation: what will go wrong, and why the fix helps.
fixed_sql: Option<String>Drop-in replacement SQL (if the fix is a single-statement rewrite).
migration_steps: Option<Vec<String>>Ordered migration steps for complex zero-downtime patterns.
severity: FixSeverityHow serious this finding is.
docs_url: Option<String>Link to relevant PostgreSQL documentation or best-practices guide.
auto_fixable: booltrue when apply_fixes() can mechanically patch the raw SQL text.
Trait Implementations§
Source§impl Clone for FixSuggestion
impl Clone for FixSuggestion
Source§fn clone(&self) -> FixSuggestion
fn clone(&self) -> FixSuggestion
Returns a duplicate of the value. Read more
1.0.0 · 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 FixSuggestion
impl Debug for FixSuggestion
Source§impl<'de> Deserialize<'de> for FixSuggestion
impl<'de> Deserialize<'de> for FixSuggestion
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for FixSuggestion
impl RefUnwindSafe for FixSuggestion
impl Send for FixSuggestion
impl Sync for FixSuggestion
impl Unpin for FixSuggestion
impl UnsafeUnpin for FixSuggestion
impl UnwindSafe for FixSuggestion
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> 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>
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