Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Mengintegrasikan Golang-Migrate dengan Docker Compose untuk Migrasi Pangkalan Data?

Bagaimana untuk Mengintegrasikan Golang-Migrate dengan Docker Compose untuk Migrasi Pangkalan Data?

Barbara Streisand
Lepaskan: 2024-12-06 04:05:22
asal
752 orang telah melayarinya

How to Integrate Golang-Migrate with Docker Compose for Database Migrations?

Penyatuan Docker-Compose untuk Golang-Migrate

Golang-Migrate memudahkan pengurusan migrasi pangkalan data. Untuk melaksanakan semua migrasi daripada direktori, arahan berikut dicadangkan:

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

Walau bagaimanapun, arahan ini tidak sejajar dengan sintaks karang docker yang dikemas kini. Artikel ini membincangkan cara mengubah suai arahan ini agar sesuai dengan sintaks karang docker yang lebih baharu dan bersambung ke pangkalan data dalam bekas yang berbeza.

Penyelesaian untuk Sintaks Karang Docker Baharu

Coretan docker-compose.yml berikut akan mencapai yang diingini kefungsian:

    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:
Salin selepas log masuk

Daripada menggunakan pilihan hos --rangkaian, rangkaian tersuai bernama baharu ditakrifkan. Perkhidmatan dalam rangkaian ini boleh mengakses satu sama lain melalui alias yang ditentukan (cth., mengakses perkhidmatan db melalui alias pangkalan data). Ini membolehkan anda menggunakan alias sebagai pengganti localhost dalam rentetan sambungan.

Sambungan ke Pangkalan Data Luaran

Rentetan sambungan ini digunakan untuk mewujudkan sambungan ke pangkalan data berjalan dalam bekas lain:

"postgres://mydbuser:mydbpwd@database:5432/mydbname?sslmode=disable"
Salin selepas log masuk

Dalam contoh ini, alias pangkalan data mewakili bekas pangkalan data luaran.

Atas ialah kandungan terperinci Bagaimana untuk Mengintegrasikan Golang-Migrate dengan Docker Compose untuk Migrasi Pangkalan Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan