SQLAlchemyでMySQL独自のDDL方言を使う

·1 分で読めます

例えばDDLでBIGINT使いたい場合は下記のように sqlalchemy.dialects.mysql から import する。

あと engine = InnoDB したい場合は __table_args__ を使うらしい。詳細はSQLAlchemyのドキュメントを参照。

from sqlalchemy import Column, Unicode

from sqlalchemy.dialects.mysql import BIGINT

from sqlalchemy.ext.declarative import declarative_base

Base = declarative_base()

class User(Base):

__tablename__ = 'user'

__table_args__ = { 'mysql_engine':'InnoDB' }

id = Column(BIGINT, primary_key = True, server_default = '0')

name = Column(Unicode(255), nullable = False)

[tmkm-amazon]4873112761[/tmkm-amazon]