Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menggunakan `golang-migrate` dengan Docker Compose untuk Migrasi Pangkalan Data?

Bagaimana untuk Menggunakan `golang-migrate` dengan Docker Compose untuk Migrasi Pangkalan Data?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-21 11:04:16433semak imbas

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

Menggunakan golang-migrate dengan Docker Compose untuk Migrasi Pangkalan Data

Dokumentasi golang-migrate mengesyorkan menggunakan perintah berikut untuk melaksanakan migrasi daripada yang ditentukan direktori:

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

Untuk menyesuaikan arahan ini kepada yang dikemas kini sintaks docker-compose, yang tidak menggalakkan penggunaan --network, ubah suai fail docker-compose.yml anda seperti berikut:

    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:

Untuk menyambung ke pangkalan data yang berada dalam bekas lain dan bukannya localhost, rangkaian ialah ditubuhkan dalam docker-compose, membenarkan perkhidmatan berkomunikasi menggunakan alias. Dalam konfigurasi yang disediakan, anda boleh mengakses perkhidmatan db melalui alias pangkalan data.

Rentetan sambungan diubah suai dengan sewajarnya:

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

Dengan pelarasan ini, anda boleh berjaya melaksanakan migrasi dalam golang- berhijrah dengan docker-compose, mewujudkan sambungan ke pangkalan data dalam bekas lain.

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

Kenyataan:
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