Umgebungen
Die Funktion Umgebungen bietet Git-ähnliches Branching für dein gesamtes Backend. Jede Umgebung ist eine vollständig isolierte Kopie deiner Anwendung — inklusive eigener Datenbank, API-Schema, Rollen, Datei-Provider, Gateway-Routen und Sicherheitskonfiguration — sodass du Änderungen entwickeln, testen und vorbereiten kannst, ohne Produktionsdaten zu beeinträchtigen.
Jedes Projekt startet mit einer einzigen master-Umgebung. Von dort aus kannst du neue Umgebungen verzweigen, die das Datenbankschema (und optional Daten) von einer bestehenden Umgebung erben. Jeder Branch arbeitet unabhängig: Änderungen in einer Umgebung werden erst nach explizitem Merge in andere übertragen.
Wichtige Konzepte
Abschnitt betitelt „Wichtige Konzepte“- Umgebungsisolation: Jede Umgebung hat ihre eigene PostgreSQL-Datenbank für vollständige Datentrennung zwischen Branches.
- Branch-Modi: Beim Erstellen einer neuen Umgebung wählst du zwischen Full (Schema + Daten) oder System (nur Schema) Klonstrategien.
- Konfigurationskopie: Datei-Speicher-Provider, Gateway-Routen, Sicherheitseinstellungen und Umgebungsvariablen können optional beim Branching aus der Quellumgebung kopiert werden.
- Status-Lebenszyklus: Umgebungen durchlaufen definierte Zustände —
active,branching,merging,error,archived— um konfligierende Operationen zu verhindern. - Vater-Kind-Beziehungen: Umgebungen bilden eine Baumstruktur für Diff- und Merge-Operationen.
- Schema Diff: Vergleiche Datenbankschemas zweier Umgebungen mit Forward-Only-Diff-Semantik. Siehe Environment Diff.
- Merge: Wende Schemaänderungen von einer Umgebung auf eine andere an mit automatischem Backup, selektiver Änderungsanwendung (Cherry-Pick) und transaktionalem DDL. Siehe Environment Merge.
- Backups: Automatische Pre-Merge-Backups und manuelle Backups in S3, mit Wiederherstellungsmöglichkeit in jede Zielumgebung — auch gelöschte. Siehe Backups.
- Migrationshistorie: Vollständige Audit-Trail aller Merge-Operationen inkl. Benutzer, Zeitstempel und angewendete Änderungen.
Umgebungsscoping
Abschnitt betitelt „Umgebungsscoping“Alle Backend-Ressourcen sind auf die aktuell gewählte Umgebung beschränkt. Beim Wechsel über den Umgebungs-Selector in der oberen Navigationsleiste spiegeln folgende Ressourcen den Zustand dieser Umgebung wider:
| Ressource | Pro Umgebung |
|---|---|
| Datenbanktabellen & Schema | Ja |
| API Explorer (GraphQL) | Ja |
| SQL Playground | Ja |
| Rollenbasierter Zugriff | Ja |
| Datei-Speicher-Provider | Ja |
| Authentifizierungs-Provider | Ja |
| API Keys | Ja |
| Custom API Gateway Routen | Ja |
| Sicherheitsconfig (CORS, Rate Limits) | Ja |
| Umgebungsvariablen | Ja |
| Integrationen | Ja |
Hinweis: Ein Umgebungswechsel löst einen vollständigen Kontext-Reload aus. Der environment-Kontext wird über alle Backend-Services propagiert.
Sicherheit & Isolation
Abschnitt betitelt „Sicherheit & Isolation“Das Umgebungssystem bietet unternehmensweite Isolation zwischen Entwicklungsstufen:
- Speicherisolation: Jede Umgebung hat eine dedizierte Datenbank. Fehler oder Datenoperationen in einer Entwicklungsumgebung können Produktionsdaten nie beeinträchtigen.
- Konfigurationsscoping: Alle Einstellungen — von API Keys bis Sicherheitsrichtlinien — werden pro Umgebung unabhängig verwaltet.
- Plattformweiter Kontext: Die aktuelle Umgebung wird automatisch über die gesamte Plattform propagiert.