jjzjj

mysql - sqlalchemy ORM : how to give some low-level specification?

coder 2023-10-07 原文

我在 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/

有关mysql - sqlalchemy ORM : how to give some low-level specification?的更多相关文章

随机推荐