4 个版本
0.1.6 | 2024 年 1 月 18 日 |
---|---|
0.1.4 | 2023 年 11 月 1 日 |
0.1.2 | 2023 年 10 月 20 日 |
0.1.0 | 2023 年 10 月 3 日 |
在 数据库接口 中排名第 2686
每月下载量 53
用于 vibegraph
21KB
421 行代码(不包括注释)
Degen Sql
为 rust 提供的具有偏见的 postgres 驱动程序,并对 tokio-postgres 进行了轻量级封装。
轻松建立 postgres 连接并在文件夹中运行迁移。
cargo add degen-sql
关于 migrate 和 rollback_full 脚本的一些说明
由于您无法运行依赖项的脚本,建议您将此存储库中的 'scripts' 文件夹复制到您的项目中,然后在 Cargo.toml 中设置二进制文件以运行它们。
然后,您将在项目中使用 migrate 脚本和 rollback 脚本。
第 1 步。
设置您的 postgres env 变量
DB_HOST="db.co....blb.supabase.co"
DB_USER="postgres"
DB_NAME="postgres"
DB_PASSWORD="Foo....baR"
第 2 步。
在您的代码中使用
use degen_sql::db::postgres::postgres_db::{Database,DatabaseCredentials};
use dotenvy::dotenv;
use std::env;
async fn main() -> io::Result<()> {
dotenv().ok(); //you dont HAVE to load them in like this but this is typical. Do not forget this if you use ::from_env()!!
let database_credentials = DatabaseCredentials::from_env(); //or you can use DatabaseCredentials { ... } and create the struct manually
let database = Arc::new(
Database::connect(
database_credentials, None
).await.unwrap());
//EXAMPLE USING THE DATABASE CONNECTION WITH ACTIX
HttpServer::new(move || {
let app_state = AppState {
database: Arc::clone(&database)
};
App::new()
.app_data(Data::new(app_state)) // Here is where we inject our database for our endpoints to use
.configure( ...routes ... )
})
.bind("0.0.0.0:3000")?
.run()
.await
}
第 3 步
构建您的迁移和模型。如果您想查看此功能的示例,请参阅 vibegraph 项目
依赖项
~13–26MB
~377K SLoC