pub struct SchemaOperator { /* private fields */ }Expand description
Explicit operator-only setup and upgrade workflows for one owned schema.
Implementations§
Source§impl SchemaOperator
impl SchemaOperator
Sourcepub async fn connect(
database_url: &str,
plan: SchemaPlan,
) -> Result<Self, PostgresKitError>
pub async fn connect( database_url: &str, plan: SchemaPlan, ) -> Result<Self, PostgresKitError>
Connects an operator without mutating the database.
Sourcepub async fn setup(&self) -> Result<SetupOutcome, PostgresKitError>
pub async fn setup(&self) -> Result<SetupOutcome, PostgresKitError>
Creates a missing schema and applies the complete authored plan atomically.
Setup is idempotent for an already-current managed schema, but will not adopt an unmanaged schema or perform an upgrade.
Sourcepub async fn upgrade(&self) -> Result<UpgradeOutcome, PostgresKitError>
pub async fn upgrade(&self) -> Result<UpgradeOutcome, PostgresKitError>
Applies only pending migrations to an existing managed schema atomically.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for SchemaOperator
impl !UnwindSafe for SchemaOperator
impl Freeze for SchemaOperator
impl Send for SchemaOperator
impl Sync for SchemaOperator
impl Unpin for SchemaOperator
impl UnsafeUnpin for SchemaOperator
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