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}