Peewee 简明教程

Peewee - Using CockroachDB

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

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

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

Field Classes

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

  1. UUIDKeyField - 一个主键字段,使用 CRDB 的 UUID 类型,并具有默认随机生成 UUID。

  2. RowIDField - 一个主键字段,使用 CRDB 的 INT 类型以及默认值 unique_rowid()。

  3. JSONField - 与 Postgres BinaryJSONField 相同。

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