13 stable releases (3 major)
4.1.0 | Mar 21, 2024 |
---|---|
4.0.1 | Mar 14, 2023 |
4.0.0 | Feb 28, 2023 |
3.0.2 | Sep 10, 2022 |
1.0.5 | Jun 20, 2021 |
#9 in #r2d2
Used in 2 crates
9KB
91 lines
Simple static diesel r2d2 connection pooling.
ENV Configuration
-
DATABASE_URL
sets connection url -
MAX_DB_CONNECTIONS
sets max connections within connection pool
The dotenv
feature flag enables dotenv loading during pre-main static initialization via dotenvy.
lib.rs
:
Static diesel r2d2 connection pooling with env configuration
Composible connection urls are provided by environment variables using env-url using the DATABASE
prefix:
| ENV | |
| -----------------------:|:--------------------------:|
| DATABASE_URL | set connection url |
| DATABASE_HOST | set url host |
| DATABASE_PORT | set url port |
| DATABASE_PATH | set selected database |
| DATABASE_USERINFO | set connnection userinfo |
MAX_DB_CONNECTIONS
env sets max connections within connection pool
The dotenv
feature flag enables automatic at-most-once dotenv loading via dotenvy. This is necessary because pool statics are initialized pre-main via static_init.
use diesel_connection::{pg::get_connection, PoolError};
#[actix_rt::main]
async fn main() -> Result<(), PoolError> {
let conn = get_connection()?;
}
Dependencies
~5–15MB
~202K SLoC