Die Ausführung meiner Django-Komponententests dauert lange, daher suche ich nach Möglichkeiten, dies zu beschleunigen. Ich denke darüber nach, eine SSD zu installieren , aber ich weiß, dass dies auch Nachteile hat. Natürlich gibt es Dinge, die ich mit meinem Code tun könnte, aber ich suche nach einer strukturellen Lösung. Selbst das Ausführen eines einzelnen Tests ist langsam, da die Datenbank jedes Mal neu erstellt / nach Süden migriert werden muss. Also hier ist meine Idee ...
Da ich weiß, dass die Testdatenbank immer recht klein sein wird, warum kann ich das System nicht einfach so konfigurieren, dass immer die gesamte Testdatenbank im RAM bleibt? Berühren Sie niemals die Festplatte. Wie konfiguriere ich das in Django? Ich würde es vorziehen, MySQL weiter zu verwenden, da ich dies in der Produktion verwende, aber wenn SQLite 3 oder etwas anderes dies einfach macht, würde ich diesen Weg gehen.
Hat SQLite oder MySQL die Option, vollständig im Speicher ausgeführt zu werden? Es sollte möglich sein, eine RAM-Disk zu konfigurieren und dann die Testdatenbank so zu konfigurieren, dass ihre Daten dort gespeichert werden. Ich bin mir jedoch nicht sicher, wie ich Django / MySQL anweisen soll, ein anderes Datenverzeichnis für eine bestimmte Datenbank zu verwenden, zumal diese immer wieder gelöscht wird und jeden Lauf neu erstellt. (Ich bin auf einem Mac FWIW.)