sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo hacer que Django funcione con controladores MySQL no compatibles, como gevent-mysql o el controlador MySQL de Concurrence?

tres hurras por la sugerencia de @traviscline de usar pymysql . su sugerencia se basó en esto publicación de mozilla . todo lo que se necesita es un parche simple para su archivo manage.py

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

cambiando la importación en su archivo de configuración y monkeypatch() ya que pymysql es un controlador de python puro.

travis mencionó que prueba la compatibilidad cambiando las importaciones y ejecutando las pruebas unitarias para pymysql, mysqldb y myconnpy.

tenga en cuenta que ya hay ejemplos de detalles más finos a tener en cuenta - pero en general, esta es una solución elegante y mantenible. ¡Actualizaré cuando tenga esto funcionando en producción!