sqlalchemy ORM:如何给出一些低级规范?

时间:2012-01-23 12:55:49

标签: mysql sqlalchemy

我在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)来产生相同的效果

1 个答案:

答案 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

相关问题