Stored Procedures in Postgres testen — warum PL/pgSQL erst beim Aufruf scheitert und was ein Test dafür aufbauen muss

Ein Klick auf „Duplizieren“ in der Projektliste, ein roter Hinweis „Das Projekt konnte nicht dupliziert werden“, sonst nichts. Im Server-Log steht der Grund: Eine Prozedur liest eine Spalte, die es seit fünf Monaten nicht mehr gibt. In diesen fünf Monaten lief der Deploy auf vier Umgebungen grün durch, die Produktion eingeschlossen. Der Konventions-Check hatte nichts … Weiterlesen

Datenbank-CI/CD mit PostgreSQL — der komplette Lebenszyklus vom Objekt-File bis zum automatischen Deploy

In vielen Projekten lebt das Datenbank-Schema in der Datenbank statt im Repository — gewachsen aus Jahren von Hand-ALTERs, vollständig dokumentiert nirgends. Auffallen tut das erst, wenn eine zweite Umgebung entstehen soll oder ein Deploy zerbricht. Datenbank-CI/CD dreht das Verhältnis um: Das Repository beschreibt den Soll-Zustand, und jede Umgebung — von der Wegwerf-Datenbank im CI bis zur Produktion … Weiterlesen

GitHub Actions für Postgres-Deploys — mit Wegwerf-Datenbank als Qualitäts-Gate

Der Fehler war ein Tippfehler in einem ALTER TABLE — gefunden hat ihn der Staging-Deploy am Freitagnachmittag. Dabei ist genau dieser Fund automatisierbar: Wer den Postgres-Deploy über GitHub Actions gegen eine Wegwerf-Datenbank fährt, macht aus jedem Pull Request einen vollständigen Probelauf. Syntax- und Semantik-Fehler, Reihenfolge-Probleme und kaputte Idempotenz fallen dann vor dem Merge auf — nicht auf Staging. Das … Weiterlesen