MigrationConnection

Trait MigrationConnection 

Source
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§

Source

fn execute(&mut self, sql: &str) -> Result<()>

Execute a SQL statement

Source

fn database_type(&self) -> &str

Get the database type (postgres, sqlite, etc.)

Source

fn query_migrations(&mut self, table_name: &str) -> Result<Vec<MigrationRecord>>

Query for migration records

Provided Methods§

Source

fn execute_with_result(&mut self, sql: &str) -> Result<u64>

Execute a SQL query and return the number of affected rows

Source

fn begin_transaction(&mut self) -> Result<()>

Begin a transaction - simple implementation

Source

fn commit_transaction(&mut self) -> Result<()>

Commit a transaction

Source

fn rollback_transaction(&mut self) -> Result<()>

Rollback a transaction

Implementors§