Peewee - 使用 CockroachDB


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

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

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

现场课程

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

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

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

  • JSONField - 与 Postgres BinaryJSONField 相同。

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