1. Datenbank anlegen
In der Console unter Datenbanken → Datenbank anlegen: Name, Größe und PostgreSQL-Version wählen, fertig. Nach wenigen Sekunden läuft sie. Der Name darf Kleinbuchstaben, Ziffern und Bindestriche enthalten.
2. Mit der App verknüpfen
Auf der Detailseite der Datenbank wählst du unter Verknüpfte Apps deine App aus. Beim nächsten Start setzt Branchway diese Variablen im Container:
DATABASE_URL=postgres://benutzer:passwort@branchway-db-name:5432/name
Den Namen der Variable kannst du beim Verknüpfen ändern – nützlich, wenn eine App zwei Datenbanken nutzt oder deine Anwendung einen anderen Namen erwartet.
3. Aus dem Code zugreifen
Alle gängigen Bibliotheken lesen DATABASE_URL von selbst.
// Node.js mit pg
import { Pool } from "pg";
const pool = new Pool({ connectionString: process.env.DATABASE_URL });
const { rows } = await pool.query("SELECT now()");
# Python mit psycopg
import os, psycopg
with psycopg.connect(os.environ["DATABASE_URL"]) as conn:
print(conn.execute("SELECT now()").fetchone())
// Prisma – in schema.prisma
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
TLS ist innerhalb des Team-Netzes nicht nötig: Der Verkehr verlässt den Server nicht. Wenn deine
Bibliothek trotzdem sslmode verlangt, setze sslmode=disable.
4. Migrationen ausführen
Schema-Änderungen gehören vor den ersten Zugriff der neuen Version. Am einfachsten hängst du sie an den Startbefehl:
# Procfile
web: npx prisma migrate deploy && node server.js
Schlägt die Migration fehl, startet die App nicht, der Health-Check bleibt rot – und Branchway schaltet den Verkehr gar nicht erst um. Die alte Version läuft weiter.
5. Sicherungen und Wiederherstellung
Jede Nacht läuft automatisch ein pg_dump je Datenbank. Jeder Tagesstand bleibt
30 Tage erhalten, zusätzlich geht eine verschlüsselte Kopie außer Haus. Zwischendurch kannst du
jederzeit selbst sichern, herunterladen und zurückspielen.
Wird eine Datenbank gelöscht, liegt sie noch 7 Tage vollständig im Papierkorb. Ein versehentliches Löschen lässt sich in dieser Zeit rückgängig machen, danach sind die Daten endgültig weg.
Brauchst du eine Sicherung zurück oder willst du eine Kopie herausgegeben bekommen, erreichst du uns über die Kontaktseite – wir spielen sie ein oder legen sie dir bereit.
Eine eigene Sicherung vor einer größeren Migration ist trotzdem eine gute Idee: ein pg_dump
aus einem Job heraus, abgelegt im Speicher, gehört dir allein.
6. Daten von woanders übernehmen
Ein Abzug aus deiner bisherigen Datenbank lässt sich direkt einspielen. Am einfachsten über einen einmaligen Job in der App, die bereits mit der neuen Datenbank verknüpft ist:
pg_dump "$ALTE_DATENBANK_URL" --no-owner --no-acl -Fc -f /tmp/abzug.dump
pg_restore --dbname "$DATABASE_URL" --no-owner --no-acl /tmp/abzug.dump
--no-owner ist wichtig: Die Rollennamen der alten Datenbank gibt es hier nicht.
Häufige Fragen
Können mehrere Apps dieselbe Datenbank nutzen?
Ja. Verknüpfe die Datenbank einfach mit jeder App – alle liegen im selben Team-Netz und bekommen dieselben Zugangsdaten.
Wie viele Verbindungen sind erlaubt?
100 gleichzeitig. Nutze in der App einen Pool mit einer festen Obergrenze, sonst öffnet jede Instanz beliebig viele Verbindungen.