7 个不稳定版本 (3 个破坏性更新)

0.11.0 2019 年 8 月 29 日
0.10.1 2019 年 8 月 16 日
0.9.1 2019 年 8 月 15 日
0.9.0 2019 年 7 月 26 日
0.8.2 2019 年 7 月 21 日

#4 in #c3p0


用于 2 crates

MIT 许可证

35KB
822

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:“每次他使用那个短语,我的电路就会变得不稳定!”

依赖项

~5–12MB
~156K SLoC