我在sqlalchemy中使用ORM。实际情况是我也使用MySQL数据库,我想设置MySQL必须适合我的项目的一些table configuration。(例如mysql_engine='InnoDB'
,mysql_charset='utf8'
等等<) / p>
我知道使用SA提供的SQL Expression有一种方法。但我更喜欢使用ORM界面。有什么想法吗?
P.S:如何使用'class mytable'表单(使用ORM而不是SQL Expression maker)来产生相同的效果
答案 0 :(得分:11)
您可以在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