pub trait MigrationConnection: Send {
// Required methods
fn execute(&mut self, sql: &str) -> Result<()>;
fn database_type(&self) -> &str;
fn query_migrations(
&mut self,
table_name: &str,
) -> Result<Vec<MigrationRecord>>;
// Provided methods
fn execute_with_result(&mut self, sql: &str) -> Result<u64> { ... }
fn begin_transaction(&mut self) -> Result<()> { ... }
fn commit_transaction(&mut self) -> Result<()> { ... }
fn rollback_transaction(&mut self) -> Result<()> { ... }
}
Expand description
Database connection trait that is dyn compatible
Required Methods§
Sourcefn database_type(&self) -> &str
fn database_type(&self) -> &str
Get the database type (postgres, sqlite, etc.)
Sourcefn query_migrations(&mut self, table_name: &str) -> Result<Vec<MigrationRecord>>
fn query_migrations(&mut self, table_name: &str) -> Result<Vec<MigrationRecord>>
Query for migration records
Provided Methods§
Sourcefn execute_with_result(&mut self, sql: &str) -> Result<u64>
fn execute_with_result(&mut self, sql: &str) -> Result<u64>
Execute a SQL query and return the number of affected rows
Sourcefn begin_transaction(&mut self) -> Result<()>
fn begin_transaction(&mut self) -> Result<()>
Begin a transaction - simple implementation
Sourcefn commit_transaction(&mut self) -> Result<()>
fn commit_transaction(&mut self) -> Result<()>
Commit a transaction
Sourcefn rollback_transaction(&mut self) -> Result<()>
fn rollback_transaction(&mut self) -> Result<()>
Rollback a transaction