Live-Anlegelauf (bereits ausgeführt): Standort "GA San", 6x Objekt aus Vorlage "Rettungsrucksack Standard" (RK-00001 bis RK-00006), Codes auf Nutzer-Wunsch vorerst fortlaufend, spätere Umcodierung möglich. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CVgbozhYmuEhiEJHffRXCV
61 lines
1.9 KiB
Python
61 lines
1.9 KiB
Python
"""Einmaliger Anlegelauf, 2026-09-04: Standort "GA San" + 6 Rettungsrucksäcke
|
|
(Vorlage "Rettungsrucksack Standard") angelegt.
|
|
|
|
Deployment-Regel (Prompt 19): Audit-Trail, bereits interaktiv gegen die
|
|
Live-DB auf 192.168.1.238 ausgeführt - nicht erneut laufen lassen (Standort
|
|
"GA San" existiert bereits, ein zweiter Lauf würde einen Duplikat-Standort
|
|
anlegen, da Standort.name kein UNIQUE-Constraint hat).
|
|
|
|
Aufruf, falls je auf einer anderen DB nachvollzogen werden muss (im
|
|
aktivierten venv):
|
|
|
|
python -m scripts.ga_san_anlegen_2026-09-04
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
import asyncio
|
|
|
|
from sqlalchemy import select
|
|
|
|
from app.db.session import SessionLocal
|
|
from app.models.auth import KnotenTyp, Systemknoten
|
|
from app.models.stammdaten import Standort
|
|
from app.models.vorlage import Beladungsvorlage
|
|
from app.services.objekte import objekt_aus_vorlage
|
|
|
|
VORLAGE_ID = 2 # "Rettungsrucksack Standard" (Stand 2026-09-04)
|
|
ANZAHL = 6
|
|
|
|
|
|
async def main() -> None:
|
|
async with SessionLocal() as db:
|
|
standort = Standort(name="GA San")
|
|
db.add(standort)
|
|
await db.flush()
|
|
|
|
hauptserver = (
|
|
await db.execute(select(Systemknoten.id).where(Systemknoten.typ == KnotenTyp.haupt))
|
|
).scalar_one()
|
|
|
|
vorlage = await db.get(Beladungsvorlage, VORLAGE_ID)
|
|
assert vorlage is not None and vorlage.name == "Rettungsrucksack Standard"
|
|
|
|
for i in range(1, ANZAHL + 1):
|
|
objekt = await objekt_aus_vorlage(
|
|
db,
|
|
code=f"RK-{i:05d}",
|
|
name=f"Rettungsrucksack Standard {i}",
|
|
standort_id=standort.id,
|
|
vorlage=vorlage,
|
|
zustaendiger_server_id=hauptserver,
|
|
)
|
|
print(f"angelegt: {objekt.code} ({objekt.name}), id={objekt.id}")
|
|
|
|
await db.commit()
|
|
print(f"\nStandort 'GA San' id={standort.id}, {ANZAHL} Objekte angelegt.")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
asyncio.run(main())
|