4个版本 (2个重大更新)

0.8.2 2019年7月21日
0.8.0 2019年7月20日
0.7.0 2019年7月8日
0.6.0 2019年7月6日

#2799 in 数据库接口

MIT许可证

81KB
2K SLoC

Build Status

"很高兴认识你。我是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:"每次他使用那个短语,我的电路就会变得不稳定!"

依赖项

~2–14MB
~174K SLoC