18 个版本 (1 个稳定版)

使用旧的Rust 2015

1.0.0 2018年1月2日
1.0.0-rc12017年12月23日
0.99.0 2017年11月29日
0.15.0 2017年7月23日
0.5.0 2016年2月6日

#2404 in 数据库接口

Download history 725/week @ 2024-03-13 869/week @ 2024-03-20 872/week @ 2024-03-27 1037/week @ 2024-04-03 915/week @ 2024-04-10 835/week @ 2024-04-17 1008/week @ 2024-04-24 948/week @ 2024-05-01 897/week @ 2024-05-08 716/week @ 2024-05-15 760/week @ 2024-05-22 999/week @ 2024-05-29 660/week @ 2024-06-05 581/week @ 2024-06-12 578/week @ 2024-06-19 556/week @ 2024-06-26

2,514 每月下载量
用于 17 个Crates(14 个直接使用)

MIT 许可证

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