Datenbanken mit Go und Docker-Compose migrieren
Das Ausführen von Migrationen mit dem Golang-Migrate-Tool kann dazu beitragen, die Konsistenz des Datenbankschemas sicherzustellen. Da jedoch „--network host“ in Docker-Compose nicht mehr unterstützt wird, kann es bei der Durchführung von Migrationen zu Herausforderungen kommen. In diesem Artikel wird erläutert, wie Sie sich an die aktualisierte Syntax anpassen und eine Verbindung zu einer Datenbank herstellen, die sich in einem separaten Container befindet.
An die neue Docker-Compose-Syntax anpassen
Zur Ausführung Bei Migrationen ohne --network host können Sie die folgende Konfiguration zu Ihrer docker-compose.yml hinzufügen Datei:
db: image: postgres networks: new: aliases: - database environment: POSTGRES_DB: mydbname POSTGRES_USER: mydbuser POSTGRES_PASSWORD: mydbpwd ports: - "5432" migrate: image: migrate/migrate networks: - new volumes: - .:/migrations command: ["-path", "/migrations", "-database", "postgres://mydbuser:mydbpwd@database:5432/mydbname?sslmode=disable", "up", "3"] links: - db networks: new:
In dieser Konfiguration wird ein Netzwerk namens „Neu“ erstellt und der Migrationsdienst wird über den Datenbankalias mit dem Datenbankdienst verknüpft.
Herstellen einer Verbindung mit einer Fernbedienung Datenbank
Um eine Verbindung zu einer Datenbank in einem separaten Container herzustellen, verwenden Sie das folgende Format in der Verbindung string:
"postgres://mydbuser:mydbpwd@database:5432/mydbname?sslmode=disable"
Datenbank ist hier der in der Netzwerkkonfiguration definierte Alias. Dadurch können Sie eine Verbindung zur Remote-Datenbank herstellen, als ob diese lokal ausgeführt würde.
Das obige ist der detaillierte Inhalt vonWie führe ich Datenbankmigrationen mit Go und Docker Compose nach der Abschaffung von „--network host' durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!