Alle vier Scripts setzten auf einem Schema auf, das es nicht mehr gibt: - seed-test-data.ts schrieb in stages und results (heute: runs und times) und kannte users.role, riders.email/birthday sowie events.created_by/ timekeepers -- alles nicht mehr vorhanden. Teams kannte es gar nicht, ohne Team-Zuordnung greifen sämtliche API-Rules und die Daten wären unsichtbar geblieben. - migrate-schema.ts und migrate-teams.ts waren Einmal-Migrationen. Ihr Ergebnis steckt längst im Schema (events.status, riders.number, times. correction, die teams-Collection, die team-Felder). Ein erneuter Lauf gegen die produktive Instanz wäre bestenfalls wirkungslos. - test-token.ts war ein Wegwerf-Prüfscript für den Superuser-Token. Das Schema ist jetzt in backend/pb_migrations/ versioniert; das ist der Weg für Änderungen. tsx entfällt als Abhängigkeit, es wurde nur von diesen Scripts benutzt. PB_SUPERUSER_TOKEN bleibt in .env -- generate-pocketbase-types braucht ihn. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1.6 KiB
stammtisch-hersbruck.de — Frontend
SvelteKit-5-Anwendung (Svelte 5 Runes, Tailwind 4) für Zeitnahme und Verwaltung.
Einrichten
.env aus der Vorlage anlegen und ausfüllen — .env.example beschreibt jede
Variable:
cp .env.example .env
npm ci
npm run dev
Die App läuft dann auf http://stammtisch-hersbruck.de.localhost:31337
Befehle
| Befehl | Zweck |
|---|---|
npm run dev |
Development-Server (Port 31337, strict) |
npm run build |
Produktions-Build |
npm run preview |
Produktions-Build lokal ansehen |
npm run check |
Typprüfung (svelte-check) |
npm run check:watch |
Typprüfung im Watch-Modus |
npm run generate-pocketbase-types |
src/lib/types.d.ts aus dem PocketBase-Schema erzeugen |
Welche PocketBase-Instanz?
PUBLIC_PB_URL in .env entscheidet, wohin das Frontend spricht:
| Wert | Instanz |
|---|---|
https://api.stammtisch-hersbruck.de |
produktiv (Default) |
http://127.0.0.1:8090 |
lokales Backend aus ../backend |
Die Variable wird von SvelteKit zur Buildzeit eingesetzt
($env/static/public). Ein Wechsel der Instanz erfordert deshalb einen
Neustart des Dev-Servers bzw. einen neuen Build — ein blosser Neustart des
Containers genügt nicht.
PB_TYPEGEN_URL und PB_SUPERUSER_TOKEN gelten getrennt davon für
npm run generate-pocketbase-types.
Schema
Das maßgebliche Schema liegt als Migration in ../backend/pb_migrations/.
Nach einer Schema-Änderung npm run generate-pocketbase-types ausführen — das
aktualisiert src/lib/types.d.ts, aus dem der PocketBase-Client seine Typen
bezieht.