blog/backend/src/db/mod.rs

32 lines
685 B
Rust
Raw Normal View History

2023-02-07 06:02:51 +00:00
use anyhow::Result;
use diesel::pg::PgConnection;
use diesel::prelude::*;
use diesel::r2d2::{ConnectionManager, Pool};
use lazy_static::lazy_static;
use crate::config;
pub mod models;
pub mod schema;
pub type DbPool = Pool<ConnectionManager<PgConnection>>;
2023-02-12 08:18:56 +00:00
pub type Connection = PgConnection;
2023-02-07 06:02:51 +00:00
pub fn establish_connection() -> ConnectionResult<PgConnection> {
2023-02-12 08:18:56 +00:00
use diesel::Connection;
2023-02-07 06:02:51 +00:00
PgConnection::establish(&config::CONFIG.db_url)
}
pub fn pool() -> Result<DbPool> {
Ok(
Pool::builder().build(ConnectionManager::<PgConnection>::new(
&config::CONFIG.db_url,
))?,
)
}
lazy_static! {
pub static ref POOL: DbPool = pool().unwrap();
}