Memindahkan Pangkalan Data dengan Go dan Docker-Compose
Menjalankan migrasi menggunakan alat golang-migrate boleh membantu memastikan ketekalan skema pangkalan data. Walau bagaimanapun, dengan penamatan --network host dalam Docker-Compose, anda mungkin menghadapi cabaran semasa melaksanakan migrasi. Artikel ini meneroka cara menyesuaikan diri dengan sintaks yang dikemas kini dan cara menyambung ke pangkalan data yang berada dalam bekas yang berasingan.
Suaikan kepada Sintaks Karang Docker Baharu
Untuk dijalankan migrasi tanpa --network host, anda boleh menambah konfigurasi berikut pada docker-compose.yml anda fail:
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:
Dalam konfigurasi ini, rangkaian yang dipanggil baru dicipta dan perkhidmatan migrasi dipautkan kepada perkhidmatan db melalui alias pangkalan data.
Menyambung ke Alat Jauh Pangkalan Data
Untuk menyambung ke pangkalan data dalam bekas yang berasingan, gunakan format berikut dalam sambungan string:
"postgres://mydbuser:mydbpwd@database:5432/mydbname?sslmode=disable"
Di sini, pangkalan data ialah alias yang ditakrifkan dalam konfigurasi rangkaian. Ini membolehkan anda menyambung ke pangkalan data jauh seolah-olah ia berjalan secara setempat.
Atas ialah kandungan terperinci Bagaimana untuk Menjalankan Migrasi Pangkalan Data dengan Go dan Docker Compose Selepas Penamatan `--host network`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!