Expand description
PersistAnt’s relational driver over sqlx (PostgreSQL first).
PgBackend implements persistant_relational::RelationalBackend. The concrete
sqlx::PgPool is available through PgBackend::pool, so a program that wants
compile-time-checked sqlx::query! keeps it (D1, C+): this crate does not hide sqlx.
Failures are classified from the server’s SQLSTATE into persistant_relational::RelError.
Structs§
- Bounded
- A
RelationalBackendwhose every call is cut off afterbound. - Bounded
Tx - A transaction on a
Boundedbackend. After any call times out it is poisoned: the statement that timed out has an unknown outcome inside the transaction, so nothing more is run in it andcommitrefuses; dropping it rolls it back. - Connect
Options - Settings for
PgBackend::connect_with(andMysqlBackend::connect_with, featuremysql). - Migrate
Report - What a successful run did.
- Migration
- One migration: a version, a description and the SQL text. The text is hashed; changing a migration that has been applied is an error, never a silent re-run.
- PgBackend
- A PostgreSQL database behind an sqlx pool.
- PgTx
- A PostgreSQL transaction.
Enums§
- From
Sqlx Error - Why an sqlx
Migratorcannot be run byMigrates::migrateas it stands. - Migrate
Error - Why a migration run stopped.
- TlsPolicy
- How a connection is secured. A typed setting, not a
sslmode=string someone has to remember.
Traits§
- Migrates
- A relational backend that keeps a migration ledger.
Functions§
- call_
bound_ from_ env - Read a per-call bound, in milliseconds, from the environment variable
var.Nonewhen it is unset, empty,0or not a number: no bound, the default. The caller decides the variable’s name. - migrations_
from_ sqlx - The migrations of an sqlx
Migrator(sqlx::migrate!("./migrations")orMigrator::new(path)) asMigrations forMigrates::migrate, in the order sqlx would run them. - parse_
bound "1500"is 1.5 s; anything that is not a positive whole number of milliseconds is no bound.