Hallo,
ich müsste beim ersten Start meines Docker-Containers für eine Klasse ca. 1000 Objekte anlegen. Wie macht man das?
Sollte ich einen separaten Endpunkt für die Erstellung anlegen, der dann einmal nach Start aufgerufen wird?
Oder sollte ich im entrypoint.sh (wo auch die Migrationen ausgeführt werden) auch direkt die 1000 Objekte erzeugen? Wenn ja, wie macht man das?
LG und Danke
Django: DB-Objekte beim 1. Start eines Docker-Containers anlegen
-
- User
- Beiträge: 439
- Registriert: Mittwoch 8. August 2018, 16:42
__backjack__: "Jemand der VB oder PHP kann, der also was Programmieren angeht irgendwo im negativen Bereich liegt (...)"
Migrationen im entrypoint auszuführen ist ziemlich problematisch. Grund dafür ist das wenn mehrere Container gleichzeitig starten sollte, die parallel Migrationen ausführen. Django hat da keinen adäquaten Mechanismus um dies zu verhindern. Selbst wenn die Migrationen Idempotent sind, kann das je nachdem was in den Migrationen passiert die Datenbank ziemlich belasten. Ich würde empfehlen Migrationen in einen separaten Schritt auszugliedern, der beim Deployment einmal ausgeführt wird, so dass Migrationen nicht parallel laufen können.Oder sollte ich im entrypoint.sh (wo auch die Migrationen ausgeführt werden)[...]
Um zu deinem eigentlichen Problem zu kommen, da der Titel sagt es handle sich um DB-Objekte, wäre die richtige Lösung diese Objekte im Rahmen einer Data Migration zu erstellen.
-
- User
- Beiträge: 439
- Registriert: Mittwoch 8. August 2018, 16:42
Danke
__backjack__: "Jemand der VB oder PHP kann, der also was Programmieren angeht irgendwo im negativen Bereich liegt (...)"