Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie lässt sich Django mit nicht unterstützten MySQL-Treibern wie gevent-mysql oder dem MySQL-Treiber von Concurrence zum Laufen bringen?

drei Hochs für den Vorschlag von @traviscline, mit pymysql zu arbeiten . sein Vorschlag basierte auf diesem Beitrag von Mozilla . alles, was Sie brauchen, ist ein einfacher Patch für Ihre manage.py-Datei

#!/usr/bin/env python
+try:
+    import pymysql
+    pymysql.install_as_MySQLdb()
+except ImportError:
+    pass 

Ändern des Imports in Ihrer Einstellungsdatei und Monkeypatch(), da pymysql ein reiner Python-Treiber ist.

travis erwähnte, dass er die Kompatibilität testet, indem er die Importe ändert und die Unittests für pymysql, mysqldb und myconnpy durchführt.

Beachten Sie, dass es bereits Beispiele für feinere Details gibt, auf die Sie achten sollten - insgesamt aber eine elegante, wartbare Lösung. Ich werde aktualisieren, wenn ich das in der Produktion zum Laufen bekomme!