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