6个版本

0.44.0 2020年4月2日
0.43.2 2020年3月22日
0.42.1 2020年3月20日

13#pg

每月下载 23

MIT 协议

60KB
1.5K SLoC

Build Status

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

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

你在玩Postgres并且喜欢它吗?

你认为JSON很出色,但它在你的数据库代码中处理得更好吗?

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

所以,如果你想要

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

那么继续阅读!

C3p0不是什么

即使它提供了一个高级接口来执行基本的CRUD操作,它也不是ORM,也不是Diesel或类似产品的替代品。

C3p0: "我明白了,Sir Luke"。

太好了!

它的工作原理

C3p0 由一系列独立的、用于简化

  • JSON-Postgres交互的小Rust库组成
  • 促进通用架构管理

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:"每次他用到那个词时,我的电路就会变得不稳定!"

依赖关系

~9-18MB
~252K SLoC