pub trait ConnectionTrait {
// Required methods
fn get_database_backend(&self) -> DbBackend;
fn execute_raw(&self, stmt: Statement) -> Result<ExecResult, DbErr>;
fn execute_unprepared(&self, sql: &str) -> Result<ExecResult, DbErr>;
fn query_one_raw(
&self,
stmt: Statement,
) -> Result<Option<QueryResult>, DbErr>;
fn query_all_raw(&self, stmt: Statement) -> Result<Vec<QueryResult>, DbErr>;
// Provided methods
fn execute<S: StatementBuilder>(
&self,
stmt: &S,
) -> Result<ExecResult, DbErr> { ... }
fn query_one<S: StatementBuilder>(
&self,
stmt: &S,
) -> Result<Option<QueryResult>, DbErr> { ... }
fn query_all<S: StatementBuilder>(
&self,
stmt: &S,
) -> Result<Vec<QueryResult>, DbErr> { ... }
fn support_returning(&self) -> bool { ... }
fn is_mock_connection(&self) -> bool { ... }
}Expand description
A connection (or transaction) that can run queries against the database.
Implemented by DatabaseConnection,
DatabaseTransaction, and the mock/proxy
connections used in testing. Most query and mutation methods in SeaORM
(.one(db), .all(db), .exec(db), …) take any &impl ConnectionTrait,
so the same code works on a pool, a transaction, or a mock.
Required Methods§
Sourcefn get_database_backend(&self) -> DbBackend
fn get_database_backend(&self) -> DbBackend
Get the database backend for the connection. This depends on feature flags enabled.
Sourcefn execute_raw(&self, stmt: Statement) -> Result<ExecResult, DbErr>
fn execute_raw(&self, stmt: Statement) -> Result<ExecResult, DbErr>
Execute a Statement
Sourcefn execute_unprepared(&self, sql: &str) -> Result<ExecResult, DbErr>
fn execute_unprepared(&self, sql: &str) -> Result<ExecResult, DbErr>
Execute a unprepared Statement
Sourcefn query_one_raw(&self, stmt: Statement) -> Result<Option<QueryResult>, DbErr>
fn query_one_raw(&self, stmt: Statement) -> Result<Option<QueryResult>, DbErr>
Execute a Statement and return a single row of QueryResult
Sourcefn query_all_raw(&self, stmt: Statement) -> Result<Vec<QueryResult>, DbErr>
fn query_all_raw(&self, stmt: Statement) -> Result<Vec<QueryResult>, DbErr>
Execute a Statement and return a vector of QueryResult
Provided Methods§
Sourcefn execute<S: StatementBuilder>(&self, stmt: &S) -> Result<ExecResult, DbErr>
fn execute<S: StatementBuilder>(&self, stmt: &S) -> Result<ExecResult, DbErr>
Execute a StatementBuilder
Sourcefn query_one<S: StatementBuilder>(
&self,
stmt: &S,
) -> Result<Option<QueryResult>, DbErr>
fn query_one<S: StatementBuilder>( &self, stmt: &S, ) -> Result<Option<QueryResult>, DbErr>
Execute a StatementBuilder and return a single row of QueryResult
Sourcefn query_all<S: StatementBuilder>(
&self,
stmt: &S,
) -> Result<Vec<QueryResult>, DbErr>
fn query_all<S: StatementBuilder>( &self, stmt: &S, ) -> Result<Vec<QueryResult>, DbErr>
Execute a StatementBuilder and return a vector of QueryResult
Sourcefn support_returning(&self) -> bool
fn support_returning(&self) -> bool
Check if the connection supports RETURNING syntax on insert and update
Sourcefn is_mock_connection(&self) -> bool
fn is_mock_connection(&self) -> bool
Check if the connection is a test connection for the Mock database
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementors§
impl ConnectionTrait for DatabaseConnection
impl ConnectionTrait for DatabaseExecutor<'_>
impl ConnectionTrait for DatabaseTransaction
impl ConnectionTrait for RestrictedConnection
rbac only.impl ConnectionTrait for RestrictedTransaction
rbac only.