butane 0.8.1

An ORM with a focus on simplicity and on writing Rust, not SQL.
Documentation
//! Deadpool support for Butane.
use super::ConnectionManager;
use crate::db::{BackendConnectionAsync, ConnectionAsync};
use crate::Result;
use deadpool::managed::{Manager, Metrics, RecycleError, RecycleResult};

impl Manager for ConnectionManager {
    type Type = ConnectionAsync;
    type Error = crate::Error;

    async fn create(&self) -> Result<ConnectionAsync> {
        crate::db::connect_async(&self.spec).await
    }

    async fn recycle(&self, conn: &mut ConnectionAsync, _: &Metrics) -> RecycleResult<Self::Error> {
        if conn.is_closed() {
            return Err(RecycleError::message("Connection is closed"));
        }
        Ok(())
    }
}