Peewee 使用 CockroachDB


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

Peewee 通过以下方式为该数据库提供支持 蟑螂数据库 类定义在 playhouse.cockroachdb 扩展模块。该模块包含将 CockroachDatabase 定义为核心模块中 PostgresqlDatabase 类的子类。

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

字段类


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

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

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

  • JSONField - 与 Postgres BinaryJSONField 相同。

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