18 个版本 (1 个稳定版)
使用旧的Rust 2015
1.0.0 | 2018年1月2日 |
---|---|
1.0.0-rc1 | 2017年12月23日 |
0.99.0 | 2017年11月29日 |
0.15.0 | 2017年7月23日 |
0.5.0 | 2016年2月6日 |
#2404 in 数据库接口
2,514 每月下载量
用于 17 个Crates(14 个直接使用)
5KB
58 代码行
r2d2-diesel
提供r2d2支持,允许使用Diesel进行连接池化。
示例
示例创建一个默认设置的本地主机运行的PostgreSQL或SQLite数据库的连接池,然后为每个线程从池中获取一个连接。
可执行版本位于examples/,您可以使用以下命令运行:cargo run --example postgres --features "diesel/postgres"
或 cargo run --example sqlite --features "diesel/sqlite"
。
extern crate diesel;
extern crate r2d2;
extern crate r2d2_diesel;
use std::thread;
use diesel::PgConnection;
use r2d2_diesel::ConnectionManager;
fn main() {
let manager = ConnectionManager::<PgConnection>::new("postgres://127.0.0.1/");
let pool = r2d2::Pool::builder().build(manager).expect("Failed to create pool.");
for _ in 0..10i32 {
let pool = pool.clone();
thread::spawn(move || {
let connection = pool.get();
assert!(connection.is_ok());
});
}
}
使用diesel master分支
如果您想使用r2d2-diesel与diesel master分支,您必须在Cargo.toml文件中添加以下部分。如果您正在使用工作区,则需要在工作区根目录下的Cargo.toml中添加此部分。
[patch.crates-io]
diesel = { git = "https://github.com/diesel-rs/diesel.git" }
diesel_infer_schema = { git = "https://github.com/diesel-rs/diesel.git" }
diesel_codegen = { git = "https://github.com/diesel-rs/diesel.git" }
依赖项
~3.5–9MB
~87K SLoC