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扩展相同,但不支持多维数组。