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
Lepaskan: 2024-12-21 11:04:16
asal
446 orang telah melayarinya

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

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

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

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