KI-generiertK8s Chaos Battleship: Das Making-Of des unbesiegbaren Clusters
Ein detaillierter Blick hinter die Kulissen unseres interaktiven Chaos Engineering Experiments für die Cloudland 2026 – gebaut mit Go, FluxCD und viel Zerstörungswut.
KI-generiertIch stelle mein bevorzugtes Tooling und meine Vorgehensweise vor, um Datenbankschema-Änderungen für PostgreSQL versioniert und automatisiert zu verwalten.
Während Tools wie Flyway oder Liquibase (Java-basiert) in der Enterprise-Welt weit verbreitet sind, bevorzuge ich in Go-Projekten oft eine schlankere Lösung, die direkt in das Anwendungs-Binary kompiliert werden kann oder zumindest aus demselben Ökosystem stammt. Dies vereinfacht die CI/CD-Pipeline massiv, da keine JRE (Java Runtime Environment) installiert sein muss. In diesem Beitrag zeige ich Ihnen meinen bevorzugten Ansatz zur Verwaltung von PostgreSQL-Migrationen mit Go.
golang-migrateMein Favorit für Go-Projekte ist die Library golang-migrate/migrate. Sie ist performant, unterstützt dutzende Datenbank-Treiber und kann sowohl als CLI-Tool als auch als Library im Code genutzt werden.
000001_init_schema.up.sql und 000001_init_schema.down.sql. Dies ermöglicht saubere Up- und Down-Migrationen (Rollbacks).Ein großer Vorteil von Go (seit Version 1.16) ist das embed-Paket. Ich nutze es, um die SQL-Migrationsdateien direkt in die ausführbare Datei einzubetten.
//go:embed migrations/*.sql
var migrationsFS embed.FSIn meinen Go-Services implementiere ich oft eine Logik, die beim Starten prüft, ob die Datenbank auf dem aktuellsten Stand ist.
main-Funktion den Migrations-Runner auf.--migrate-only) kann ich den Prozess auch separat in einem Init-Container (z.B. in Kubernetes) laufen lassen, was für sauberere Deployments sorgt.Um Probleme in Produktion zu vermeiden, folge ich strikten Regeln für meine Migrations-SQLs:
CREATE TABLE IF NOT EXISTS).Die Verwaltung von Datenbank-Migrationen direkt mit Go-Tools reduziert die Komplexität Ihrer Infrastruktur und macht Ihre Deployments zuverlässiger. golang-migrate bietet in Kombination mit Go’s embed Feature eine extrem mächtige und dennoch einfache Lösung, die perfekt in die Philosophie von Go passt: Ein Binary, alles drin.
Suchen Sie nach einer effizienteren Methode, Ihre PostgreSQL-Migrationen in Go zu verwalten?
Ich unterstütze Sie bei der Einrichtung professioneller Datenbank-Workflows und der Integration in Ihre Go-Backend-Architektur. Lassen Sie uns Ihre Migrationen automatisieren.
Ob Sie ein fertiges Fundament suchen oder eine maßgeschneiderte Individuallösung benötigen – ich unterstütze Sie bei Ihrem Vorhaben.
Bleiben Sie auf dem Laufenden mit aktuellen Beiträgen zu DevSecOps, Webentwicklung, Smart Home und mehr.
Zum Blog
KI-generiertEin detaillierter Blick hinter die Kulissen unseres interaktiven Chaos Engineering Experiments für die Cloudland 2026 – gebaut mit Go, FluxCD und viel Zerstörungswut.
KI-generiertEin technischer Leitfaden zur Konfiguration von Streaming-Replikation in PostgreSQL, um die Ausfallsicherheit zu erhöhen und die Lese-Last zu verteilen.
KI-generiertIch stelle meine Strategie vor, um IT-Dokumentation nicht veralten zu lassen, indem ich sie eng an den Entwicklungsprozess in Git anbinde.
KI-generiertIch zeige, wie ich eine eigene, interne Certificate Authority (CA) aufsetze, um die Kommunikation zwischen Microservices mit TLS abzusichern.