我在 sqlalchemy 中使用 ORM .实际情况是我也在用MySQL数据库,我想设置一些table configuration MySQL 必须适合我的项目。(例如 mysql_engine='InnoDB'、mysql_charset='utf8' 等等)
我知道有一种方法使用 SA 提供的 SQL 表达式。但我更喜欢使用 ORM 接口(interface)。有什么想法吗?
P.S:如何使用“class mytable”形式产生相同的效果(使用 ORM 而不是 SQL Expression maker)
最佳答案
您可以在 sqlalchemy 的表定义中传递 mysql 选项。
http://www.sqlalchemy.org/docs/dialects/mysql.html#storage-engines
Table('mytable', metadata,
Column('data', String(32)),
mysql_engine='InnoDB',
mysql_charset='utf8'
)
编辑://
如果你使用声明层,你可以使用'table_args':
class Something(Base):
__tablename__ = 'something'
__table_args__ = {'mysql_charset': 'utf8', 'mysql_engine': 'InnoDB'}
http://www.sqlalchemy.org/docs/05/reference/ext/declarative.html#table-configuration
关于mysql - sqlalchemy ORM : how to give some low-level specification?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8971960/