thesis/project/src/db_connection.rs
2020-04-05 22:53:42 +03:00

15 lines
597 B
Rust

use diesel::r2d2::{ConnectionManager, Pool, PoolError, PooledConnection};
use diesel::MysqlConnection;
pub type DbPool = r2d2::Pool<ConnectionManager<MysqlConnection>>;
pub type MyPooledConnection = PooledConnection<ConnectionManager<MysqlConnection>>;
fn init_pool(database_url: &str) -> Result<DbPool, PoolError> {
let manager = ConnectionManager::<MysqlConnection>::new(database_url);
Pool::builder().build(manager)
}
pub fn get_pool() -> DbPool {
let connspec = std::env::var("DATABASE_URL").expect("DATABASE_URL");
init_pool(&connspec).expect("Failed to create DB pool")
}