pub struct PostgresSchema;Available on crate feature
postgres only.Expand description
Schema manager for PostgreSQL persistence.
Provides utilities for schema creation, migration, and verification.
Implementations§
Source§impl PostgresSchema
impl PostgresSchema
Sourcepub fn sql(config: &PostgresConfig) -> String
pub fn sql(config: &PostgresConfig) -> String
Generate complete SQL DDL for all tables and indexes.
Use this to integrate with external migration tools (Flyway, Diesel, etc.).
Sourcepub fn table_ddl(config: &PostgresConfig) -> Vec<String>
pub fn table_ddl(config: &PostgresConfig) -> Vec<String>
Generate table DDL statements.
Sourcepub fn index_ddl(config: &PostgresConfig) -> Vec<String>
pub fn index_ddl(config: &PostgresConfig) -> Vec<String>
Generate index DDL statements.
Sourcepub fn expected_indexes(config: &PostgresConfig) -> Vec<(String, String)>
pub fn expected_indexes(config: &PostgresConfig) -> Vec<(String, String)>
Get expected indexes as (table_name, index_name) pairs.
Sourcepub async fn migrate(
pool: &PgPool,
config: &PostgresConfig,
) -> Result<(), Error>
pub async fn migrate( pool: &PgPool, config: &PostgresConfig, ) -> Result<(), Error>
Run migration to create tables and indexes.
Sourcepub async fn verify(
pool: &PgPool,
config: &PostgresConfig,
) -> Result<Vec<SchemaIssue>, Error>
pub async fn verify( pool: &PgPool, config: &PostgresConfig, ) -> Result<Vec<SchemaIssue>, Error>
Verify schema integrity - check tables and indexes exist.
Auto Trait Implementations§
impl Freeze for PostgresSchema
impl RefUnwindSafe for PostgresSchema
impl Send for PostgresSchema
impl Sync for PostgresSchema
impl Unpin for PostgresSchema
impl UnwindSafe for PostgresSchema
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> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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 moreCreates a shared type from an unshared type.