Adding seed command for initializing a demo database

This commit is contained in:
Michael Bergbauer 2025-05-11 09:48:38 +02:00
parent 7015a79e07
commit f6887d07df
3 changed files with 38 additions and 0 deletions

View File

View File

View File

@ -0,0 +1,38 @@
from django.core.management.base import BaseCommand
from member.models import Person, UserAccount
from django.contrib.auth.hashers import make_password
class Command(BaseCommand):
help = "Füllt die DB mit Beispieldaten"
def handle(self, *args, **kwargs):
# Bestehende Daten löschen
self.stdout.write("🧹 Lösche bestehende Personen und Benutzerkonten...")
UserAccount.objects.all().delete()
Person.objects.all().delete()
# Personen anlegen
self.stdout.write("👤 Erstelle Personen...")
p1 = Person.objects.create(vorname="Max", nachname="Mustermann", geburtsdatum="1980-05-01", aktiv=True)
p2 = Person.objects.create(vorname="Erika", nachname="Beispiel", geburtsdatum="1992-03-15", aktiv=True)
p3 = Person.objects.create(vorname="Thomas", nachname="Feuer", geburtsdatum=None, aktiv=True)
p4 = Person.objects.create(vorname="Julia", nachname="Wehr", geburtsdatum="1999-11-20", aktiv=False)
# Benutzerkonten anlegen
self.stdout.write("🔐 Erstelle Benutzerkonten...")
UserAccount.objects.create(
person=p1,
userName="maxadmin",
passwort_hash=make_password("adminpass123"),
role="admin",
isActive=True,
)
UserAccount.objects.create(
person=p2,
userName="erikam",
passwort_hash=make_password("mitglied456"),
role="mitglied",
isActive=True,
)
self.stdout.write(self.style.SUCCESS("✅ Testdaten erfolgreich eingespielt."))