28 个版本 (破坏性更新)
0.53.0 | 2020 年 5 月 22 日 |
---|---|
0.51.0 | 2020 年 5 月 1 日 |
0.43.2 | 2020 年 3 月 22 日 |
0.41.0 | 2019 年 12 月 31 日 |
0.2.3 | 2019 年 3 月 30 日 |
#2514 在 数据库接口
60KB
1.5K SLoC
"很高兴见到你。我是 C-3p0,JSON-DB 关系。"
C3p0: "你好,我不相信我们还没有介绍过。很高兴见到你。我是 C-3p0,JSON-DB 关系。"
你在玩 Postgres 并且喜欢它吗?
你认为 JSON 非常出色,但在你的 DB 代码中处理得更好吗?
无论你更喜欢 rust-postgres 还是 Diesel,C3p0 都为你提供了一套工具,用于简化数据库工作流程中的 JSON 集成。
所以,如果你想
- 使用任何
serde_json::Serializable
结构体作为你的 Diesel 模型中的有效字段 - 无缝地将任何
serde_json::Serializable
结构体集成到你的 rust-postgres 代码中 - 自动升级你的 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:“每次他使用那个短语,我的电路就会变得不稳定!”
依赖关系
~10-18MB
~289K SLoC