#查询 #经验 #类型安全 #postg-rest #postgrest #构建式 #postgrest-client

postgrest-query

通过PostgREST提供的类型安全的构建式查询体验

1 个不稳定版本

0.1.0 2023年12月27日

#1238数据库接口

MIT 协议

5KB
89

postgrest-query

通过PostgREST提供的类型安全的构建式查询体验

安装

cargo add postgrest-query

用法

use postgrest_query::PostgrestClient;

const URL: &str = "https://org-postgrest-query-demo-inst.data-1.use1.tembo.io/restapi/v1";

#[derive(serde::Serialize, serde::Deserialize)]
struct UserModel {
    id: i32,
    name: String,
    password: String,
}

#[tokio::main]
async fn main() -> Result<(), std::error::Error> {
    let db = PostgrestClient::new(URL);

    let user_query = db.from("users").find_many::<UserModel>().exec().await;
}

待办事项

  • 简单 Rust -> PostgREST -> Postgres 利用 serde 和类似于 Prisma 查询构建器
  • 允许提供自定义模式以实现更好的类型安全性
  • 目前可能让消费者提供自己的fetcher(默认为 reqwest
  • 编译时查询检查(类似于 sqlx
  • 探索将其移植到其他语言(TypeScript,Python,Go等)的潜力

依赖关系

~3–18MB
~228K SLoC