Zum Hauptinhalt springen

Datenbankmodell

Dieses Dokument beschreibt, wo und in welcher Form Studio Daten speichert. Sie verwenden es, um den Backup-Umfang zu definieren oder um direkte Abfragen durchzuführen.

Es gibt zwei Speicher

Metadaten gehen in PostgreSQL, App-Quellcode und Build-Artefakte ins Dateisystem(DATA_ROOT). Beide müssen gesichert werden, um eine Wiederherstellung zu ermöglichen — nur die DB zu sichern bedeutet, dass der App-Code fehlt; nur Dateien zu sichern bedeutet, dass die Audit-Informationen fehlen.

SpeicherInhalt
PostgreSQLBenutzer · App-Metadaten · Gespräche · Audit · Watcher · Skills
Dateisystem (DATA_ROOT)Workspaces (App-Quellcode) · Build-Artefakte · Zustand

PostgreSQL ist einer von zwei Modi — gebündelter Container (Standard) oder Platform-gemeinsames PG. Siehe Umgebungsvariablen-Referenz.


Tabellen — 11 Stück

GruppeTabelleInhalt
Benutzerstudio_usersKonten · Rollen (admin/builder/viewer) · Passwort-Hashes
studio_tokensAusgestellte Token
Gesprächeask_conversationsChat-Threads
ask_historyAusgetauschte Nachrichten und Zeitaufwand
WatcherwatchersPeriodische Überwachungsdefinitionen und Benachrichtigungseinstellungen
notification_seenBenachrichtigungsbestätigungsstatus
SkillsskillsRegistrierte Vor-Ort-Kenntnisse
Bereitstellungdeploy_logBereitstellungsverlauf
Audit · Nutzungaudit_logWer hat was getan
usage_logKI-Token-Nutzung
Schemaschema_migrationsAngewandte Migrationsnamen und Zeitstempel
watchers hieß früher flows

Am 13.07.2026 wurden die Namen vereinheitlicht (ALTER TABLE flows RENAME TO watchers, Daten beibehalten). Neue Installationen durchlaufen denselben Prozess — Migrationen zuerst mit flows erstellen, dann umbenennen — da der Migrationsverlauf Vergangenheit ist und nicht geändert wird. Wenn Sie direkte Abfragen schreiben, verwenden Sie watchers.


Schemaänderungen werden durch Migrationen verwaltet

Beim Start des Servers werden die .sql aus src/infra/db/migrations/ in numerischer Reihenfolge angewendet und die angewendeten Dateinamen in schema_migrations eingetragen. Bereits angewendete werden nicht erneut ausgeführt.

-- 지금 어디까지 적용됐는지
SELECT name, applied_at FROM schema_migrations ORDER BY name;
Das Schema nicht manuell ändern

Wenn schema_migrations und das tatsächliche Schema nicht übereinstimmen, schlägt die Migration beim nächsten Upgrade mit „bereits vorhanden" fehl. Der Screen-Start wird vollständig blockiert.

Erstellen Sie vor einem Upgrade zuerst ein Backup → Backup und Wiederherstellung.


Dateisystem — DATA_ROOT

Der Standard ist /var/lib/pp-studio. Alles Folgende wird darin gespeichert.

InhaltWenn fehlt
App-Workspace (generierter Quellcode)Apps können nicht geöffnet werden — DB enthält nur Metadaten
Build-ArtefakteNeu bauen behebt das Problem
Sitzungen · ZustandLaufende Arbeiten gehen verloren
Gebündelte PG-DatenBei einer COMPOSE_PROFILES=bundled-pg-Installation ist der DB-Body hier
Mit gebündeltem PG ist DATA_ROOT gleichzeitig das DB-Backup

Im Bundle-Modus befindet sich das PostgreSQL-Datenverzeichnis auch unter DATA_ROOT. Das heißt, wenn Sie diesen Pfad übersehen, verlieren Sie DB und App-Quellcode gleichzeitig.


Leicht übersehene Backup-Punkte

Das muss gesichert werdenWenn übersehen
PostgreSQL-DumpKonten · Watcher · Gesprächsverlauf · Audit-Einträge gehen verloren
DATA_ROOTApp-Quellcode geht verloren; Apps können nicht geöffnet werden
/etc/kopens/plantpulse-studio.envVerbindungsinformationen · Schlüssel müssen neu eingegeben werden
Testen Sie eine Wiederherstellung einmal

Der gefährlichste Zustand ist, ein Backup zu haben, aber Wiederherstellungen nie getestet zu haben. Das Verfahren finden Sie unter Backup und Wiederherstellung.


Zugehörige Dokumentation