6个版本
0.44.0 | 2020年4月2日 |
---|---|
0.43.2 | 2020年3月22日 |
0.42.1 | 2020年3月20日 |
#15 in #pg
41KB
1K SLoC
"很高兴见到你。我是C-3p0,JSON-DB关系。"
C3p0: "你好,我不相信我们还没有介绍过。很高兴见到你。我是C-3p0,JSON-DB关系。"
你在玩Postgres并且喜欢它吗?
你认为JSON很棒,但它在数据库代码中处理得更好吗?
无论你更喜欢 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: "如果你知道我听到关于这个Jabba the Hutt的一半事情,你可能会短路。"
我说 "Java","Ja"-"va"。请集中注意力!
无论如何,Java正在慢慢显露出它的老态,我们对它有点厌倦了。
C3p0: "他们使用一个非常原始的方言"。
的确。
相反,我们对Rust编程语言的兴趣随着时间的推移而不断增长;所以我们尝试了它,最终,将代码的一些关键部分迁移到了Rust。
只是说,我们爱上了它。
我们相信Rust是一种更好的整体语言。
C3p0: "城市中心计算机告诉你的?"
是的!它使我们能够实现更好的资源利用,避免垃圾回收器和虚拟机,同时还能获得更好的并发级别和更高的安全性。
我可以在生产环境中使用它吗?
韩 "别担心。一切都会好起来的。相信我。"
C3p0:"每次他使用那个短语时,我的电路就会变得不稳定!"
依赖项
~5-14MB
~193K SLoC