sql >> Databasteknik >  >> RDS >> Mysql

importera min databasanslutning med python

Det är möjligt, men det är inte bra att blanda kod och data (vilket som helst - konfiguration, HTML etc), av minst två anledningar:

  • Design - du slutar med så kallad högkoppling . Situation där det finns många beroenden, svåra att följa och din app blir allt svårare att ändra.
  • Säkerhet - dina referenser hamnar förr eller senare i något säkerhetskopieringsarkiv eller -förråd. Konfigurationsfilen kan dessutom krypteras, py-filen inte riktigt. Om det är en webbapp är det lättare att begränsa åtkomsten till en enda konfigurationsfil än till alla py-filer som kan ha känsliga data.

Du kan fortfarande skapa denna separata, lättanvända anslutningshanteringsfunktion. Men flytta dina anslutningsuppgifter till en separat konfigurationsfil.

config.ini:

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

Du kan läsa konfigurationen i din anslutnings-py-fil eller göra den mer global (dvs singleton?). Om du vill läsa konfigurationen i anslutningsfilen:

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

Användningsexempel:

import storage

conn = storage.connect()


  1. Hur säkerhetskopierar och återställer man en databas som en kopia på samma server?

  2. Implementering av fulltextsökning i SQL Server 2016 för avancerade användare

  3. SQL Server v.Next:STRING_AGG Performance, del 2

  4. Hur ringer man upp Oracle Function i Python?