Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment faire fonctionner Django avec des pilotes MySQL non pris en charge tels que gevent-mysql ou le pilote MySQL de Concurrence ?

bravo pour la suggestion de @traviscline d'aller avec pymysql . sa suggestion était basée sur ceci message de mozilla . tout ce qu'il faut, c'est un correctif simple pour votre fichier manage.py

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

changer l'importation dans votre fichier de paramètres et monkeypatch() puisque pymysql est un pur pilote python.

travis a mentionné qu'il teste la compatibilité en modifiant les importations et en exécutant les tests unitaires pour pymysql, mysqldb et myconnpy.

notez qu'il existe déjà des exemples de détails plus fins à surveiller - mais dans l'ensemble, c'est une solution élégante et maintenable. je mettrai à jour quand je l'aurai en cours de production !