Testen Sie eine destruktive Postgres-Migration auf einem Copy-on-Write-Branch
Wann einsetzen: Sie haben eine Migration (DROP COLUMN, großes UPDATE, Index-Neuerstellung) und möchten sie auf produktionsgeformten Daten ausführen, ohne das Produktive zu riskieren.
Voraussetzungen
- Neon API-Schlüssel — console.neon.tech → Account → API keys
Ablauf
-
Erstellen Sie einen Branch von mainErstellen Sie in Neon-Projekt <id> einen Branch namens 'test-drop-legacy' vom Hauptbranch. Geben Sie die Verbindungszeichenfolge für den neuen Branch zurück.✓ Kopiert→ Branch in <2 Sekunden erstellt, Verbindungszeichenfolge zurückgegeben
-
Wenden Sie die Migration auf dem Branch anVerbinden Sie sich mit dem neuen Branch und führen Sie aus: <Migration SQL einfügen>. Melden Sie Zeilenzahlen und Fehler.✓ Kopiert→ Migration abgeschlossen; Zählungen ergeben Sinn
-
Überprüfen Sie, dann bereinigen SieFühren Sie Konsistenzabfragen auf den geänderten Tabellen aus. Wenn die Ergebnisse korrekt aussehen, sagen Sie mir Bescheid und ich werde sie auf main anwenden. Löschen Sie dann den Branch auf jeden Fall.✓ Kopiert→ Überprüfung + Branch gelöscht, um Speicherkosten zu vermeiden
Ergebnis: Vertrauen, dass Ihre Migration auf echten Daten funktioniert, ohne Risiko für die Produktion.
Fallstricke
- Branch verbraucht Speicher proportional zu dem, was Sie darauf schreiben — Löschen Sie Branches nach dem Testen umgehend — verlassene Branches mit vielen Schreibzugriffen erhöhen die Rechnung
- Branch ist ein Snapshot — sieht keine Schreibzugriffe, die auf main nach der Branch-Erstellung erfolgen — Branch kurz vor der Anwendungszeit; oder verwenden Sie Neon Time-Travel, um von einem bestimmten Zeitstempel zu verzweigen