Standort "GA San" + 6 Rettungsrucksäcke angelegt (Audit-Trail)
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
This commit is contained in:
@@ -3382,3 +3382,29 @@ Keine Commits in dieser Session.
|
|||||||
- ergebnisse/material_bereinigung_log.md | 66 +++++++++++++++++++++++++++++++
|
- ergebnisse/material_bereinigung_log.md | 66 +++++++++++++++++++++++++++++++
|
||||||
|
|
||||||
---
|
---
|
||||||
|
## 2026-09-04 21:24 – 21:27 (3m)
|
||||||
|
**Beschreibung:** Claude Code Session
|
||||||
|
**Projekt:** asb-material
|
||||||
|
|
||||||
|
### Commits
|
||||||
|
- f77d2d6 Materialstamm-Bereinigung: Beatmunsmaske geklärt, zu Größe S gemerged
|
||||||
|
|
||||||
|
### Geänderte Dateien
|
||||||
|
- DEVLOG.md | 13 +++++++++++++
|
||||||
|
- backend/scripts/material_bereinigung_2026-09-04.py | 3 +++
|
||||||
|
- ergebnisse/material_bereinigung_log.md | 17 +++++++++++------
|
||||||
|
|
||||||
|
---
|
||||||
|
## 2026-09-04 22:00 – 22:03 (3m)
|
||||||
|
**Beschreibung:** Claude Code Session
|
||||||
|
**Projekt:** asb-material
|
||||||
|
|
||||||
|
### Commits
|
||||||
|
Keine Commits in dieser Session.
|
||||||
|
|
||||||
|
### Geänderte Dateien
|
||||||
|
- DEVLOG.md | 13 +++++++++++++
|
||||||
|
- backend/scripts/material_bereinigung_2026-09-04.py | 3 +++
|
||||||
|
- ergebnisse/material_bereinigung_log.md | 17 +++++++++++------
|
||||||
|
|
||||||
|
---
|
||||||
|
|||||||
@@ -0,0 +1,60 @@
|
|||||||
|
"""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())
|
||||||
Reference in New Issue
Block a user