5个不稳定版本
0.3.0 | 2024年4月9日 |
---|---|
0.2.0 | 2024年4月1日 |
0.1.2 | 2021年6月15日 |
0.1.1 | 2021年6月12日 |
0.1.0 | 2021年6月12日 |
#643 在 数据库接口
每月 254 次下载
用于 pgdb_cli
20KB
397 行
pgdb-rs
一个小型的Rust crate,允许轻松创建和运行临时Postgres数据库,通常用于单元测试或其他类似事情
let user = "dev";
let pw = "devpw";
let db = "dev";
// Run a postgres instance on port `15432`.
let pg = pgdb::Postgres::build()
.start()
.expect("could not build postgres database");
// We can now create a regular user and a database.
pg.as_superuser()
.create_user(user, pw)
.expect("could not create normal user");
pg.as_superuser()
.create_database(db, user)
.expect("could not create normal user's db");
// Now we can run DDL commands, e.g. creating a table.
let client = pg.as_user(user, pw);
client
.run_sql(db, "CREATE TABLE foo (id INT PRIMARY KEY);")
.expect("could not run table creation command");
有关详细信息,请参阅文档。
lib.rs
:
运行Postgres实例。
pgdb
通过构建模式支持配置和启动Postgres数据库实例,通过Drop
进行关闭和清理。
示例
let user = "dev";
let pw = "devpw";
let db = "dev";
// Run a postgres instance on port `15432`.
let pg = pgdb::Postgres::build()
.start()
.expect("could not build postgres database");
// We can now create a regular user and a database.
pg.as_superuser()
.create_user(user, pw)
.expect("could not create normal user");
pg.as_superuser()
.create_database(db, user)
.expect("could not create normal user's db");
// Now we can run DDL commands, e.g. creating a table.
let client = pg.as_user(user, pw);
client
.run_sql(db, "CREATE TABLE foo (id INT PRIMARY KEY);")
.expect("could not run table creation command");
依赖关系
~4–13MB
~173K SLoC