pub enum LintCategory {
DestructiveDrop,
AddNotNullNoDefault,
UnsafeNotNull,
TypeNarrowing,
DangerousRename,
BlockingIndex,
}Expand description
A category of real PostgreSQL migration risk (PROGRAM.md AP2.1-6).
Variants§
DestructiveDrop
DROP TABLE / DROP COLUMN / DROP INDEX / DROP SCHEMA /
DROP CONSTRAINT — destructive, irreversible data loss.
AddNotNullNoDefault
ADD COLUMN ... NOT NULL without a DEFAULT — fails on existing rows
and breaks rolling upgrades (old app instances still write the column).
UnsafeNotNull
ALTER ... SET NOT NULL without a preceding default — table rewrite,
fails on existing NULL values, blocks writes during the rewrite.
TypeNarrowing
ALTER COLUMN ... TYPE — may narrow the value domain or rewrite the
table; requires review for compatibility.
DangerousRename
RENAME TABLE / RENAME COLUMN — breaks code referencing the old name
and complicates rolling upgrades.
BlockingIndex
CREATE INDEX (without CONCURRENTLY) — blocks writes for the
duration of the build; a rolling-upgrade hazard on large tables.
Trait Implementations§
Source§impl Clone for LintCategory
impl Clone for LintCategory
Source§fn clone(&self) -> LintCategory
fn clone(&self) -> LintCategory
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for LintCategory
Source§impl Debug for LintCategory
impl Debug for LintCategory
Source§impl Display for LintCategory
impl Display for LintCategory
impl Eq for LintCategory
Source§impl PartialEq for LintCategory
impl PartialEq for LintCategory
Source§impl Serialize for LintCategory
impl Serialize for LintCategory
impl StructuralPartialEq for LintCategory
Auto Trait Implementations§
impl Freeze for LintCategory
impl RefUnwindSafe for LintCategory
impl Send for LintCategory
impl Sync for LintCategory
impl Unpin for LintCategory
impl UnsafeUnpin for LintCategory
impl UnwindSafe for LintCategory
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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> ⓘ
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