pub struct MigrationRunner { /* private fields */ }Expand description
Migration runner that handles both built-in and user migrations.
Implementations§
Source§impl MigrationRunner
impl MigrationRunner
pub fn new(pool: PgPool) -> Self
pub fn with_config(pool: PgPool, config: MigrationConfig) -> Self
Sourcepub async fn run(&self, user_migrations: Vec<Migration>) -> Result<()>
pub async fn run(&self, user_migrations: Vec<Migration>) -> Result<()>
Run all pending migrations with mesh-safe locking.
Sourcepub async fn status(&self, available: &[Migration]) -> Result<MigrationStatus>
pub async fn status(&self, available: &[Migration]) -> Result<MigrationStatus>
Get the status of all migrations. Each applied row is annotated with a
DriftStatus so forge migrate status can distinguish three cases
without triggering a full apply:
- source still matches the recorded checksum,
- source has been edited (drifted),
- source file is gone entirely (the version is no longer in
available— usually a deleted migration file).
Auto Trait Implementations§
impl Freeze for MigrationRunner
impl !RefUnwindSafe for MigrationRunner
impl Send for MigrationRunner
impl Sync for MigrationRunner
impl Unpin for MigrationRunner
impl UnsafeUnpin for MigrationRunner
impl !UnwindSafe for MigrationRunner
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> 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