36个版本 (重大更新)

0.68.0 2023年10月31日
0.67.0 2022年7月8日
0.66.0 2022年7月6日
0.64.1 2022年1月19日
0.24.0 2019年11月24日

#2690数据库接口

Download history 6/week @ 2024-03-09 11/week @ 2024-03-16 13/week @ 2024-03-30 4/week @ 2024-04-06

每月116次下载

MIT 协议

49KB
1K SLoC

Build Status

"很高兴见到你。我是C-3p0,JSON-DB关系。"

C3p0: "你好,我不相信我们还没有自我介绍。很高兴见到你。我是C-3p0,JSON-DB关系。"

你在玩Postgres并且喜欢它吗?

你认为JSON很优秀,但它在你的DB代码中处理得更好吗?

无论你更喜欢 rust-postgres 还是 Diesel,C3p0都为你提供了一套工具,以简化数据库工作流程中的JSON集成。

所以,如果你想要

  • 将任何 serde_json::Serializable 结构体用作 Diesel 模型中的有效字段
  • 无缝集成你的 rust-postgres 代码中的任何 serde_json::Serializable 结构体
  • rust-postgres 中自动升级模式,就像在 Diesel 迁移 中一样

那么请继续阅读!

C3p0不是什么

尽管它提供了执行基本CRUD操作的高级接口,但它既不是ORM也不是Diesel或类似产品的替代品。

C3p0: "我明白了,卢克爵士"。

太好了!

它的工作原理

C3p0 由一组独立的小型Rust库组成,用于

  • 简化JSON-Postgres交互
  • 简化通用的模式管理

C3p0 组件

C3p0 组件尚未准备好

  • c3p0_diesel 这将是基于 Diesel 的等效 c3p0_pg 构建。

先决条件

您必须安装Rust版本1.33或更高版本。

历史

第一个 C3p0 版本是用Java编写的...

C3p0: "如果我告诉你关于这个贾巴库斯我听说的一半事情,你可能会短路。"

我说的是 "Java","Ja"-"va"。请集中注意力,谢谢!

无论如何,Java正在慢慢变老,我们对它有点厌倦了。

C3p0:"他们使用一个非常原始的方言。”

的确。

相反,我们对Rust编程语言的兴趣随着时间的推移而不断增长;因此,我们尝试了它,最终将一些关键代码部分迁移到了Rust。

简而言之,我们非常喜欢它。

我们认为Rust是一个更好的整体语言。

C3p0:"城市的中央电脑告诉你的吗?”

是的!它使我们能够实现更好的资源利用率,避免垃圾收集器和虚拟机,同时获得更好的并发安全级别。

我可以在生产环境中使用它吗?

:"别担心,一切都会好起来的。相信我。”

C3p0:"每次他使用那个短语,我的电路就会变得不稳定!”

依赖项

~2.7–4.5MB
~80K SLoC