2016-06-24 8 views
1

was ich brauche, ist in irgendeiner Klasse folgen, wenn ich es auf dem lokalen Host leite vs es auf die Produktion läuftDev und prod Werte in Python

if __debug__: 
return {'dbhost' : "localhost", 'dbuser' : "root", 'dbpass' : "", 'dbname' : "some_DB"} 
else: 
return {'dbhost' : "localhost", 'dbuser' : "appwork_ayurveda", 'dbpass' : "some_password", 'dbname' : "some_DB"}  

Ich möchte wissen, wenn ich es richtig mache.

Auch wenn es nicht richtig, dann ist, wie kann ich in dev vs prod Umgebungen folgende perform

cnx = mysql.connector.connect(user='root', database='some_database') 
cursor = cnx.cursor()  

Antwort

1

Sie sollten für Ihre Entwicklungseinstellungen eine separate Datei settings.py haben.

Abgesehen davon sollte keine Ihrer Einstellungsdateien das Kennwort in unformatiertem Text speichern. Der häufigste Ansatz besteht darin, dass Ihre Einstellungsdateien auf Referenzumgebungsvariablen verweisen, die die Datenbankauthentifizierungseinstellungen enthalten.

Wenn der einzige Unterschied ein Datenbankkennwort ist, könnten Sie einfach andere Werte für die Umgebungsvariablen verwenden. Aber mehr als wahrscheinlich irgendwann müssen Sie sie weiter trennen.

+0

erstens bin ich besorgt über dev und prod umgebungen nur, wie in swift kann ich #if DEBUG ... sonst ... –

+0

@MandeepKumar - Sie könnten 'tun, wenn settings.DEBUG:' aber das wird sehr schnell chaotisch (und möglicherweise fehleranfällig) – Sayse

+0

also was sollte die Lösung sein, wenn Sie mir helfen können? –

Verwandte Themen