Peewee - 使用 CockroachDB

CockroachDB 或 Cockroach 数据库 (CRDB) 是由计算机软件公司 Cockroach Labs 开发的。 它是一个可扩展、一致复制的事务性数据存储,旨在将数据副本存储在多个位置,以提供快速访问。

Peewee 通过 playhouse.cockroachdb 扩展模块中定义的 CockroachDatabase 类为该数据库提供支持。 该模块包含 CockroachDatabase 的定义,作为核心模块中 PostgresqlDatabase 类的子类。

此外,还有 run_transaction() 方法,它在事务内部运行一个函数,并提供自动客户端重试逻辑。


Field 字段类

该扩展还有一些特殊的字段类,在 CRDB 兼容模型中用作属性。

  • UUIDKeyField - 使用 CRDB 的 UUID 类型和默认随机生成的 UUID 的主键字段。

  • RowIDField - 使用 CRDB 的 INT 类型和默认 unique_rowid() 的主键字段。

  • JSONField - 与 Postgres BinaryJSONField 相同。

  • ArrayField - 与 Postgres 扩展相同,但不支持多维数组。