Maison > développement back-end > Golang > Comment utiliser « golang-migrate » avec Docker Compose pour les migrations de bases de données ?

Comment utiliser « golang-migrate » avec Docker Compose pour les migrations de bases de données ?

Mary-Kate Olsen
Libérer: 2024-12-21 11:04:16
original
409 Les gens l'ont consulté

How to Use `golang-migrate` with Docker Compose for Database Migrations?

Utilisation de golang-migrate avec Docker Compose pour les migrations de bases de données

La documentation de golang-migrate recommande d'utiliser la commande suivante pour exécuter des migrations à partir d'un directory :

1

docker run -v {{ migration dir }}:/migrations --network host migrate/migrate -path=/migrations/ -database postgres://localhost:5432/database up 2

Copier après la connexion

Pour adapter cette commande à la syntaxe docker-compose mise à jour, qui décourage l'utilisation de --network, modifiez votre fichier docker-compose.yml comme suit :

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

    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:

Copier après la connexion

Pour vous connecter à une base de données résidant dans un autre conteneur au lieu de localhost, un réseau est établi au sein de docker-compose, permettant aux services de communiquer en utilisant des pseudonymes. Dans la configuration fournie, vous pouvez accéder au service db via l'alias de la base de données.

La chaîne de connexion est modifiée en conséquence :

1

postgres://mydbuser:mydbpwd@database:5432/mydbname?sslmode=disable

Copier après la connexion

Avec ces ajustements, vous pouvez exécuter avec succès des migrations dans golang- migrez avec docker-compose, en établissant une connexion à une base de données dans un autre conteneur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal