Heim > Backend-Entwicklung > Golang > Wie führe ich Datenbankmigrationen mit Go und Docker Compose nach der Abschaffung von „--network host' durch?

Wie führe ich Datenbankmigrationen mit Go und Docker Compose nach der Abschaffung von „--network host' durch?

DDD
Freigeben: 2024-12-16 11:20:10
Original
113 Leute haben es durchsucht

How to Run Database Migrations with Go and Docker Compose After the `--network host` Deprecation?

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:
Nach dem Login kopieren

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"
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage