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

importar mi conexión de base de datos con python

Es posible, pero no es una buena idea mezclar código y datos (cualquier tipo:configuración, HTML, etc.), por al menos dos razones:

  • Diseño:terminas con el llamado acoplamiento alto . Situación en la que hay muchas dependencias, difíciles de seguir, y su aplicación es cada vez más difícil de modificar.
  • Seguridad:tarde o temprano, sus credenciales terminan en algún archivo o repositorio de respaldo de código. El archivo de configuración se puede encriptar adicionalmente, el archivo py no realmente. Si se trata de una aplicación web, es más fácil restringir el acceso a un solo archivo de configuración que a todos los archivos py que pueden tener datos confidenciales.

Todavía puede crear esta función de manejo de conexiones separada y fácil de usar. Pero mueva sus credenciales de conexión a un archivo de configuración separado.

config.ini:

[mysqlDB]
host = '0.0.0.0'
db = 'test'
user = 'root'
pass = 'pswd'

Puede leer la configuración en su archivo py de conexión o hacerla más global (es decir, ¿singleton?). Si desea leer la configuración en el archivo de conexión:

almacenamiento.py:

import configparser
import MySQLdb.cursors

config = configparser.ConfigParser()
config.read('config.ini')

def connect():
    return MySQLdb.connect(host = config['mysqlDB']['host'],
                           user = config['mysqlDB']['user'],
                           passwd = config['mysqlDB']['pass'],
                           db = config['mysqlDB']['db'])

Ejemplo de uso:

import storage

conn = storage.connect()