pub enum DatabaseConnection {
SqlxPostgresPoolConnection(SqlxPostgresPoolConnection),
SqlxSqlitePoolConnection(SqlxSqlitePoolConnection),
MockDatabaseConnection(Arc<MockDatabaseConnection>),
Disconnected,
}Expand description
Handle a database connection depending on the backend enabled by the feature flags. This creates a database pool.
Variants§
SqlxPostgresPoolConnection(SqlxPostgresPoolConnection)
Create a PostgreSQL database connection and pool
SqlxSqlitePoolConnection(SqlxSqlitePoolConnection)
Create a SQLite database connection and pool
MockDatabaseConnection(Arc<MockDatabaseConnection>)
Create a Mock database connection useful for testing
Disconnected
The connection to the database has been severed
Implementations§
source§impl DatabaseConnection
impl DatabaseConnection
sourcepub fn as_mock_connection(&self) -> &MockDatabaseConnection
pub fn as_mock_connection(&self) -> &MockDatabaseConnection
Generate a database connection for testing the Mock database
sourcepub fn into_transaction_log(self) -> Vec<Transaction>
pub fn into_transaction_log(self) -> Vec<Transaction>
Get the transaction log as a collection Vec<crate::Transaction>
Trait Implementations§
source§impl ConnectionTrait for DatabaseConnection
impl ConnectionTrait for DatabaseConnection
source§fn get_database_backend(&self) -> DatabaseBackend
fn get_database_backend(&self) -> DatabaseBackend
source§fn execute<'life0, 'async_trait>(
&'life0 self,
stmt: Statement
) -> Pin<Box<dyn Future<Output = Result<ExecResult, DbErr>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn execute<'life0, 'async_trait>(
&'life0 self,
stmt: Statement
) -> Pin<Box<dyn Future<Output = Result<ExecResult, DbErr>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
source§fn query_one<'life0, 'async_trait>(
&'life0 self,
stmt: Statement
) -> Pin<Box<dyn Future<Output = Result<Option<QueryResult>, DbErr>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn query_one<'life0, 'async_trait>(
&'life0 self,
stmt: Statement
) -> Pin<Box<dyn Future<Output = Result<Option<QueryResult>, DbErr>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
source§fn query_all<'life0, 'async_trait>(
&'life0 self,
stmt: Statement
) -> Pin<Box<dyn Future<Output = Result<Vec<QueryResult>, DbErr>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn query_all<'life0, 'async_trait>(
&'life0 self,
stmt: Statement
) -> Pin<Box<dyn Future<Output = Result<Vec<QueryResult>, DbErr>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
source§fn is_mock_connection(&self) -> bool
fn is_mock_connection(&self) -> bool
source§fn support_returning(&self) -> bool
fn support_returning(&self) -> bool
RETURNING syntax on insert and updatesource§impl Debug for DatabaseConnection
impl Debug for DatabaseConnection
source§impl Default for DatabaseConnection
impl Default for DatabaseConnection
source§fn default() -> DatabaseConnection
fn default() -> DatabaseConnection
source§impl StreamTrait for DatabaseConnection
impl StreamTrait for DatabaseConnection
§type Stream<'a> = QueryStream
type Stream<'a> = QueryStream
source§impl TransactionTrait for DatabaseConnection
impl TransactionTrait for DatabaseConnection
source§fn transaction<'life0, 'async_trait, F, T, E>(
&'life0 self,
_callback: F
) -> Pin<Box<dyn Future<Output = Result<T, TransactionError<E>>> + Send + 'async_trait>>
fn transaction<'life0, 'async_trait, F, T, E>( &'life0 self, _callback: F ) -> Pin<Box<dyn Future<Output = Result<T, TransactionError<E>>> + Send + 'async_trait>>
Execute the function inside a transaction. If the function returns an error, the transaction will be rolled back. If it does not return an error, the transaction will be committed.
source§fn transaction_with_config<'life0, 'async_trait, F, T, E>(
&'life0 self,
_callback: F,
_isolation_level: Option<IsolationLevel>,
_access_mode: Option<AccessMode>
) -> Pin<Box<dyn Future<Output = Result<T, TransactionError<E>>> + Send + 'async_trait>>
fn transaction_with_config<'life0, 'async_trait, F, T, E>( &'life0 self, _callback: F, _isolation_level: Option<IsolationLevel>, _access_mode: Option<AccessMode> ) -> Pin<Box<dyn Future<Output = Result<T, TransactionError<E>>> + Send + 'async_trait>>
Execute the function inside a transaction. If the function returns an error, the transaction will be rolled back. If it does not return an error, the transaction will be committed.
source§fn begin<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<DatabaseTransaction, DbErr>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn begin<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<DatabaseTransaction, DbErr>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
BEGIN transaction.
Returns a Transaction that can be committed or rolled backsource§fn begin_with_config<'life0, 'async_trait>(
&'life0 self,
_isolation_level: Option<IsolationLevel>,
_access_mode: Option<AccessMode>
) -> Pin<Box<dyn Future<Output = Result<DatabaseTransaction, DbErr>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn begin_with_config<'life0, 'async_trait>(
&'life0 self,
_isolation_level: Option<IsolationLevel>,
_access_mode: Option<AccessMode>
) -> Pin<Box<dyn Future<Output = Result<DatabaseTransaction, DbErr>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
BEGIN transaction with isolation level and/or access mode.
Returns a Transaction that can be committed or rolled backAuto Trait Implementations§
impl Freeze for DatabaseConnection
impl !RefUnwindSafe for DatabaseConnection
impl Send for DatabaseConnection
impl Sync for DatabaseConnection
impl Unpin for DatabaseConnection
impl !UnwindSafe for DatabaseConnection
Blanket Implementations§
source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
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>
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>
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