1

Xeroundのリリースノートによると、セーブポイントはサポートされておらず、Django1.4でこれのサポートをオフにする方法がわかりません。誰かがこれを達成する方法を知っていますか?

4

1 に答える 1

1

私も同じ問題を抱えていました。Djangoは、セーブポイントを使用するかどうかを決定するときにのみMySqlのバージョンをチェックするようです。Xeroundは、MySqlのバージョンが十分に高い場合でも、セーブポイントをサポートしない非標準のデータベースエンジンを使用している可能性があります。

クイックフィックス(テスト用)はdjango/db/backends/mysql/base.py、ロジックをオーバーライドするように編集することです。

前:

self.features.uses_savepoints = self.get_server_version() >= (5, 0, 3)

後:

self.features.uses_savepoints = False

私はこれをテストしましたが、問題は発生しなかったようです。

注:このようにdjangoソースを直接編集することはお勧めしません。おそらく、mysqlモジュールをサブクラス化またはコピーしてプロジェクト内に配置することにより、独自のdbバックエンドモジュールを作成する必要があります。モジュールを指すようにsettings.pyデータベース構成を更新することを忘れないでください。

于 2012-05-07T22:04:32.287 に答える