Enum sea_orm::entity::prelude::DatabaseConnection
source ยท pub enum DatabaseConnection {
SqlxMySqlPoolConnection(SqlxMySqlPoolConnection),
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ยง
SqlxMySqlPoolConnection(SqlxMySqlPoolConnection)
Create a MYSQL database connection and pool
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) -> DbBackend
fn get_database_backend(&self) -> DbBackend
sourceยงfn execute<'life0, 'async_trait>(
&'life0 self,
stmt: Statement
) -> Pin<Box<dyn Future<Output = Result<ExecResult, DbErr>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn execute<'life0, 'async_trait>(
&'life0 self,
stmt: Statement
) -> Pin<Box<dyn Future<Output = Result<ExecResult, DbErr>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: '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
Self: 'async_trait,
'life0: '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
Self: 'async_trait,
'life0: '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
Self: 'async_trait,
'life0: '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
Self: 'async_trait,
'life0: '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ยงimpl StreamTrait for DatabaseConnection
impl StreamTrait for DatabaseConnection
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>>where
F: for<'c> FnOnce(&'c DatabaseTransaction) -> Pin<Box<dyn Future<Output = Result<T, E>> + Send + 'c>> + Send + 'async_trait,
T: Send + 'async_trait,
E: Error + Send + 'async_trait,
Self: 'async_trait,
'life0: '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>>where
F: for<'c> FnOnce(&'c DatabaseTransaction) -> Pin<Box<dyn Future<Output = Result<T, E>> + Send + 'c>> + Send + 'async_trait,
T: Send + 'async_trait,
E: Error + Send + 'async_trait,
Self: 'async_trait,
'life0: '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>>where
F: for<'c> FnOnce(&'c DatabaseTransaction) -> Pin<Box<dyn Future<Output = Result<T, E>> + Send + 'c>> + Send + 'async_trait,
T: Send + 'async_trait,
E: Error + Send + 'async_trait,
Self: 'async_trait,
'life0: '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>>where
F: for<'c> FnOnce(&'c DatabaseTransaction) -> Pin<Box<dyn Future<Output = Result<T, E>> + Send + 'c>> + Send + 'async_trait,
T: Send + 'async_trait,
E: Error + Send + 'async_trait,
Self: 'async_trait,
'life0: '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
Self: 'async_trait,
'life0: 'async_trait,
fn begin<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<DatabaseTransaction, DbErr>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: '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
Self: 'async_trait,
'life0: '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
Self: 'async_trait,
'life0: 'async_trait,
BEGIN
transaction with isolation level and/or access mode.
Returns a Transaction that can be committed or rolled back