2012-01-23 6 views
3

sqlalchemyにORMを使用しています。実際の状況は、私はまた、MySQLデータベースを使用している、と私はMySQLが私のプロジェクトに合わせて持っているいくつかのtable configurationを設定したいです。(例。mysql_engine='InnoDB'mysql_charset='utf8'など)私はSQL式を使用してのアプローチがあります知っているsqlalchemy ORM:いくつかの低レベル仕様を与える方法?

SAによって提供される。しかし、私は代わりにORMインターフェイスを使用することをお勧めします。何か案は?

P.S:「クラスmytableは」形式を使用して同じ効果を作成する方法(代わりに、SQL式メーカーのORMを使用して)

答えて

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

+0

私はこれを知っています方法。問題は、 'class mytable'フォーム(SQL式メーカの代わりにORMを使用)を使用して同じ効果を出す方法です。 – Determinant

+0

編集された編集を参照してください – Gryphius

+0

ありがとうございます! – Determinant

関連する問題