跨数据库 SQLAlchemy 应用程序的通用 TEXT/CLOB 数据类型

Jor*_*zov 3 python database sqlalchemy

我正在开发 Python Web 应用程序,该应用程序在开发环境中使用 MySQL 作为数据库后端,在生产环境中使用 Oracle 11g。是否有统一 SQLAlchemy 文本字段的特定方法,以便它们在 MySQL 和 Oracle 数据库上工作?对于我使用的模型中的 Oracle 后端sqlalchemy.CLOB和 MySQL sqlalchemy.TEXT

Pio*_*ost 5

根据#sqlalchemy 上的@agronholm,一个应该使用通用 SQLAlchemy 类型Text(这TEXT是专门化的):

可变大小的字符串类型。

在 SQL 中,通常对应于 CLOB 或 TEXT。也可以使用 Python unicode 对象并在绑定参数中编码为数据库的编码(对于结果集则相反)。通常,TEXT 对象没有长度;虽然一些数据库会在这里接受长度参数,但它会被其他数据库拒绝。