Das Schema der Collections ist im Repo als pb/pb_migrations/collections_schema.json hinterlegt, wird aber nur in Dev und Tests angewendet (Dev-Seed über den pb_migrations-Mount, Fixture-Import). Produktion wird von Hand gepflegt. Es gibt also keinen Weg, eine Schemaänderung (neues Feld, neuer Select-Wert, neue Collection) reproduzierbar nach Produktion zu bringen.
Solange das fehlt, ist das Datenmodell faktisch eingefroren.
Was davon abhängt
#29 Bilder im Content (file-Feld / media-Collection)
posts.summary (Text, optional): ersetzt den automatisch aus dem Body gekürzten Teaser (#44), wenn gesetzt
pages.teaser/pages.icon: Teaser und Icon der Startseiten-Kacheln (#43) redaktionell statt abgeleitet
eigene embed-Werte für Startseiten-Bausteine
Collection board_members (#45): löst den Baustein ::: team auf /board ab (heute Markdown im Body). Felder etwa name (Text), role (Text, optional), duties (Text oder JSON-Liste), note (Text, optional), group (Select: Vorsitz/Schriftführung/Beisitz), order (Zahl), public (Bool); Avatar-Initialen und -Farbe weiter beim Rendern berechnet (TeamMember), keine Fotos. Umstieg: Records aus dem Body übernehmen, dann embed-Wert für /board.
Bausteine ::: kennzahlen / ::: kacheln (heute Markdown im Body, z. B. /patrons): falls sie strukturierte Felder bekommen, Anzahl begrenzen. kennzahlen stehen immer in einer Reihe gleich breiter Spalten, ausgelegt auf 3, höchstens 4 Einträge (mehr wird auf dem Handy zu eng); Zahl kurz halten (seit 1975, ab 10 €). kacheln laufen in der 42rem-Lesespalte zweispaltig, also am besten gerade Anzahl; Titel ein Wort (**Titel** am Anfang des Eintrags).
Optionen (zu entscheiden)
PocketBase-JS-Migrationen auch in Produktion mounten (nur Schema, kein Seed; Seed strikt getrennt halten)
Schema-Import über die Admin-API als Deploy-Schritt (braucht Superuser-Credentials im Deploy)
Manuelle Checkliste in docs/redaktion.md je Änderung (einfach, aber fehleranfällig)
Aufgaben
Option wählen und in docs/architektur.md als Entscheidung festhalten
Dev-Seed und Schema-Migration trennen (Produktion darf nie Beispielinhalte bekommen)
Ablauf in docs/deployment.md dokumentieren, inkl. Rollback
Einmal mit einer harmlosen Änderung end-to-end durchspielen
Das Schema der Collections ist im Repo als `pb/pb_migrations/collections_schema.json` hinterlegt, wird aber **nur in Dev und Tests** angewendet (Dev-Seed über den `pb_migrations`-Mount, Fixture-Import). Produktion wird von Hand gepflegt. Es gibt also **keinen Weg, eine Schemaänderung (neues Feld, neuer Select-Wert, neue Collection) reproduzierbar nach Produktion zu bringen.**
Solange das fehlt, ist das Datenmodell faktisch eingefroren.
## Was davon abhängt
- #29 Bilder im Content (`file`-Feld / `media`-Collection)
- „Design auffrischen“ (#37), Notizen für später:
- `posts.summary` (Text, optional): ersetzt den automatisch aus dem Body gekürzten Teaser (#44), wenn gesetzt
- `pages.teaser`/`pages.icon`: Teaser und Icon der Startseiten-Kacheln (#43) redaktionell statt abgeleitet
- eigene `embed`-Werte für Startseiten-Bausteine
- Collection `board_members` (#45): löst den Baustein `::: team` auf `/board` ab (heute Markdown im Body). Felder etwa `name` (Text), `role` (Text, optional), `duties` (Text oder JSON-Liste), `note` (Text, optional), `group` (Select: Vorsitz/Schriftführung/Beisitz), `order` (Zahl), `public` (Bool); Avatar-Initialen und -Farbe weiter beim Rendern berechnet (`TeamMember`), keine Fotos. Umstieg: Records aus dem Body übernehmen, dann `embed`-Wert für `/board`.
- Bausteine `::: kennzahlen` / `::: kacheln` (heute Markdown im Body, z. B. `/patrons`): falls sie strukturierte Felder bekommen, Anzahl begrenzen. `kennzahlen` stehen immer in **einer** Reihe gleich breiter Spalten, ausgelegt auf 3, höchstens 4 Einträge (mehr wird auf dem Handy zu eng); Zahl kurz halten (`seit 1975`, `ab 10 €`). `kacheln` laufen in der 42rem-Lesespalte zweispaltig, also am besten gerade Anzahl; Titel ein Wort (`**Titel**` am Anfang des Eintrags).
## Optionen (zu entscheiden)
- **PocketBase-JS-Migrationen** auch in Produktion mounten (nur Schema, kein Seed; Seed strikt getrennt halten)
- **Schema-Import über die Admin-API** als Deploy-Schritt (braucht Superuser-Credentials im Deploy)
- **Manuelle Checkliste** in `docs/redaktion.md` je Änderung (einfach, aber fehleranfällig)
## Aufgaben
- [ ] Option wählen und in `docs/architektur.md` als Entscheidung festhalten
- [ ] Dev-Seed und Schema-Migration trennen (Produktion darf nie Beispielinhalte bekommen)
- [ ] Ablauf in `docs/deployment.md` dokumentieren, inkl. Rollback
- [ ] Einmal mit einer harmlosen Änderung end-to-end durchspielen
Gehört zu #24.
Tom
added this to the Elternbeirat-Website milestone 2026-10-01 11:06:48 +02:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Das Schema der Collections ist im Repo als
pb/pb_migrations/collections_schema.jsonhinterlegt, wird aber nur in Dev und Tests angewendet (Dev-Seed über denpb_migrations-Mount, Fixture-Import). Produktion wird von Hand gepflegt. Es gibt also keinen Weg, eine Schemaänderung (neues Feld, neuer Select-Wert, neue Collection) reproduzierbar nach Produktion zu bringen.Solange das fehlt, ist das Datenmodell faktisch eingefroren.
Was davon abhängt
file-Feld /media-Collection)posts.summary(Text, optional): ersetzt den automatisch aus dem Body gekürzten Teaser (#44), wenn gesetztpages.teaser/pages.icon: Teaser und Icon der Startseiten-Kacheln (#43) redaktionell statt abgeleitetembed-Werte für Startseiten-Bausteineboard_members(#45): löst den Baustein::: teamauf/boardab (heute Markdown im Body). Felder etwaname(Text),role(Text, optional),duties(Text oder JSON-Liste),note(Text, optional),group(Select: Vorsitz/Schriftführung/Beisitz),order(Zahl),public(Bool); Avatar-Initialen und -Farbe weiter beim Rendern berechnet (TeamMember), keine Fotos. Umstieg: Records aus dem Body übernehmen, dannembed-Wert für/board.::: kennzahlen/::: kacheln(heute Markdown im Body, z. B./patrons): falls sie strukturierte Felder bekommen, Anzahl begrenzen.kennzahlenstehen immer in einer Reihe gleich breiter Spalten, ausgelegt auf 3, höchstens 4 Einträge (mehr wird auf dem Handy zu eng); Zahl kurz halten (seit 1975,ab 10 €).kachelnlaufen in der 42rem-Lesespalte zweispaltig, also am besten gerade Anzahl; Titel ein Wort (**Titel**am Anfang des Eintrags).Optionen (zu entscheiden)
docs/redaktion.mdje Änderung (einfach, aber fehleranfällig)Aufgaben
docs/architektur.mdals Entscheidung festhaltendocs/deployment.mddokumentieren, inkl. RollbackGehört zu #24.