Ich habe nach Richtlinien gesucht, aber ohne Erfolg. In einem Projekt verwende ich oft Django data migrations. Sie sehen mehr oder weniger wie das Beispiel aus der Dokumentation aus. Die Operationen sind jedoch manchmal ziemlich komplex und es wäre schön, eine Konsolenausgabe zu haben, die die ausgeführten Operationen zusammenfasst (d. H. Was gelöscht/erstellt/neu verdrahtet wurde/usw. und warum).Ist es OK, in Django-Datenmigrationen auf stdout oder stderr zu drucken? Wenn das so ist, wie?
Die Frage ist also: Ist es in Ordnung, eine solche Protokollierung in eine Migration zu programmieren? Wenn ja, ist es besser, Pythons logging
Modul oder nur print
zu verwenden? Im ersten Fall wäre wahrscheinlich eine zusätzliche Konfiguration erforderlich, um diese Protokolle sichtbar zu machen (in settings.py
?). In letzterem Fall wäre stderr
oder stdout
bevorzugt?
Die Frage könnte dahingehend erweitert werden, ob interaktive Eingaben von Benutzern zulässig sind. Eingebaute Schemamigration-Einrichtungen sind dazu in der Lage, interaktive datenbezogene Fragen zu stellen.
Custom management commands haben empfohlene Möglichkeiten zur Bereitstellung von Konsolen-Ausgabe, die Teil der Motivation hinter dieser Frage ist.