Spaces:
Sleeping
Sleeping
File size: 936 Bytes
41d16b3 19f24a5 41d16b3 19f24a5 41d16b3 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | import logging
from sqlalchemy.orm import Session
from .models import DdaVillage, DdaZone
from .seed_data import DELHI_ZONES
logger = logging.getLogger(__name__)
def seed_delhi_hierarchy(db: Session) -> dict:
"""Insert Zone → Village hierarchy if empty. Idempotent."""
existing = db.query(DdaZone).count()
if existing > 0:
return {"seeded": False, "zones": existing}
zones_created = 0
villages_created = 0
for zone_name, villages in DELHI_ZONES.items():
zone = DdaZone(name=zone_name, mode="admin")
db.add(zone)
db.flush()
zones_created += 1
for village_name in villages:
db.add(DdaVillage(zone_id=zone.id, name=village_name))
villages_created += 1
db.commit()
logger.info("DDA seed: %d zones, %d villages", zones_created, villages_created)
return {"seeded": True, "zones": zones_created, "villages": villages_created}
|