sql >> Database teknologi >  >> RDS >> Mysql

importere min databaseforbindelse med python

Det er muligt, men det er ikke en god idé at blande kode og data (enhver form - konfiguration, HTML osv.), af mindst to grunde:

  • Design - du ender med såkaldt høj kobling . Situation, hvor der er mange afhængigheder, svære at følge, og din app er sværere og sværere at ændre.
  • Sikkerhed - dine legitimationsoplysninger ender før eller siden i et eller andet kodebackup-arkiv eller -lager. Konfigurationsfilen kan desuden krypteres, py-filen egentlig ikke. Hvis det er en webapp, er det nemmere at begrænse adgangen til en enkelt konfigurationsfil end til alle py-filer, der kan have følsomme data.

Du kan stadig oprette denne separate, brugervenlige forbindelseshåndteringsfunktion. Men flyt dine forbindelsesoplysninger til en separat konfigurationsfil.

config.ini:

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

Du kan læse konfigurationen i din forbindelse py-fil eller gøre den mere global (dvs. singleton?). Hvis du ønsker at læse konfigurationen i forbindelsesfilen:

storage.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'])

Eksempel på brug:

import storage

conn = storage.connect()


  1. Migrering af MySQL-database fra Amazon RDS til DigitalOcean

  2. Fejl:ORA-01704:streng for lang

  3. Sådan gemmer du et Java Instant i en MySQL-database

  4. 9.6 Scariest Patch Tournament