Adding seed command for initializing a demo database
This commit is contained in:
parent
7015a79e07
commit
f6887d07df
0
member/management/__init__.py
Normal file
0
member/management/__init__.py
Normal file
0
member/management/commands/__init__.py
Normal file
0
member/management/commands/__init__.py
Normal file
38
member/management/commands/seed.py
Normal file
38
member/management/commands/seed.py
Normal 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."))
|
||||||
Loading…
x
Reference in New Issue
Block a user