#!/usr/bin/env bash # sync.sh — Kennzeichen-Daten aus ~/plates aktualisieren # # Ablauf: # 1. git pull im plates-Repo # 2. Alle Kennzeichen in PocketBase upserten (neue Records, geänderte Records) # # Verwendung: # bash ~/kennzeichen/scripts/sync.sh # # Für neue Länder zusätzlich nötig: # - Land in COUNTRY_MAP in import_all.py eintragen # - Land in COUNTRY_LABELS + COUNTRY_FLAGS in frontend/lib/pb.ts eintragen # - Docker rebuild: docker compose -f ~/kennzeichen/docker-compose.yml build nextjs # && docker compose -f ~/kennzeichen/docker-compose.yml up -d nextjs set -e PLATES_DIR="${PLATES_DIR:-$HOME/plates}" KENNZEICHEN_DIR="${KENNZEICHEN_DIR:-$HOME/kennzeichen}" PB_URL="${PB_URL:-http://localhost:4444}" PB_EMAIL="${PB_EMAIL:-}" PB_PASSWORD="${PB_PASSWORD:-}" # Credentials aus .env laden falls vorhanden [ -f "$KENNZEICHEN_DIR/.env" ] && source "$KENNZEICHEN_DIR/.env" if [ -z "$PB_EMAIL" ] || [ -z "$PB_PASSWORD" ]; then echo "Fehler: PB_EMAIL und PB_PASSWORD müssen gesetzt sein (siehe .env.example)" exit 1 fi echo "=== Kennzeichen-Sync $(date '+%Y-%m-%d %H:%M') ===" # 1. Repo aktualisieren echo "→ git pull..." git -C "$PLATES_DIR" pull --ff-only # 2. Kennzeichen importieren (upsert, kein Schema-Reset) echo "→ Kennzeichen importieren..." python3 "$KENNZEICHEN_DIR/scripts/import_all.py" \ --pb-url "$PB_URL" \ --pb-email "$PB_EMAIL" \ --pb-password "$PB_PASSWORD" \ --repo-path "$PLATES_DIR" \ --db-path "$KENNZEICHEN_DIR/data.db" \ --skip-schema # 3. Diplomatenkennzeichen synchronisieren (upsert) echo "→ Diplomatenkennzeichen synchronisieren..." python3 "$KENNZEICHEN_DIR/scripts/fix_schema.py" \ --pb-url "$PB_URL" \ --pb-email "$PB_EMAIL" \ --pb-password "$PB_PASSWORD" \ --repo-path "$PLATES_DIR" \ --only diplo echo "=== Fertig ==="