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
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.
This acquires an exclusive advisory lock before running migrations, ensuring only one node in the cluster runs migrations at a time.
Sourcepub async fn rollback(&self, count: usize) -> Result<Vec<String>>
pub async fn rollback(&self, count: usize) -> Result<Vec<String>>
Rollback N migrations (most recent first).
Sourcepub async fn status(&self, available: &[Migration]) -> Result<MigrationStatus>
pub async fn status(&self, available: &[Migration]) -> Result<MigrationStatus>
Get the status of all migrations.
Auto Trait Implementations§
impl Freeze for MigrationRunner
impl !RefUnwindSafe for MigrationRunner
impl Send for MigrationRunner
impl Sync for MigrationRunner
impl Unpin 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