51个版本 (重大更新)

0.71.0 2024年7月27日
0.70.0 2024年1月10日
0.69.1 2024年1月7日
0.68.0 2023年10月31日
0.9.0 2019年7月26日

#1896数据库接口

Download history 22/week @ 2024-04-15 34/week @ 2024-04-22 24/week @ 2024-04-29 29/week @ 2024-05-06 18/week @ 2024-05-13 33/week @ 2024-05-20 24/week @ 2024-05-27 41/week @ 2024-06-03 40/week @ 2024-06-10 19/week @ 2024-06-17 30/week @ 2024-06-24 14/week @ 2024-07-01 14/week @ 2024-07-08 34/week @ 2024-07-15 172/week @ 2024-07-22 177/week @ 2024-07-29

每月410次下载
24 个crate中使用 (直接使用17个)

MIT 许可证

18KB
427

crates.io Build Status codecov

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

: ???

C3p0:"Artoo说生存的可能性是725比1。”

依赖关系

~0.8–1.8MB
~38K SLoC