Peewee - 使用 CockroachDB



CockroachDB 或 Cockroach 数据库 (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 扩展相同,但不支持多维数组。

广告