1
MyISAMの代わりにレガシーデータベーステーブルがInnoDBを使用していることを確認するためのユニットテストを書いています。モデルを使ってテーブルが使用しているエンジンを取得する方法はありますか?Django:モデルからテーブルエンジンを取得
MyISAMの代わりにレガシーデータベーステーブルがInnoDBを使用していることを確認するためのユニットテストを書いています。モデルを使ってテーブルが使用しているエンジンを取得する方法はありますか?Django:モデルからテーブルエンジンを取得
いいえ、モデルには分かりません。データベースに直接クエリする必要があります:
>>> from django.db import connection
>>> cursor = connection.cursor()
>>> cursor.execute("SHOW TABLE STATUS WHERE name='appname_modelname'")
>>> print cursor.fetchone()
('appname_modelname',
u'InnoDB',
10L,
u'Compact',
29L,
6779L,
196608L,
0L,
49152L,
10485760L,
34L,
datetime.datetime(2010, 11, 19, 13, 5),
None,
None,
u'latin1_swedish_ci',
None,
u'',
u'')