데이터베이스 마이그레이션을 위해 Docker Compose와 함께 golang- migration 활용
golang- migration 문서에서는 다음 명령을 사용하여 지정된 데이터베이스에서 마이그레이션을 실행할 것을 권장합니다. 디렉토리:
docker run -v {{ migration dir }}:/migrations --network host migrate/migrate -path=/migrations/ -database postgres://localhost:5432/database up 2
이 명령을 업데이트된 docker-compose 구문에 적용하려면, --network 사용을 권장하지 않으므로 docker-compose.yml 파일을 다음과 같이 수정하십시오.
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:
localhost 대신 다른 컨테이너에 있는 데이터베이스에 연결하려면 docker-compose 내에 네트워크가 설정됩니다. , 서비스가 별칭을 사용하여 통신할 수 있도록 합니다. 제공된 구성에서 데이터베이스 별칭을 통해 db 서비스에 액세스할 수 있습니다.
연결 문자열은 그에 따라 수정됩니다.
postgres://mydbuser:mydbpwd@database:5432/mydbname?sslmode=disable
이러한 조정을 통해 golang-에서 마이그레이션을 성공적으로 실행할 수 있습니다. docker-compose를 사용하여 마이그레이션하여 다른 컨테이너의 데이터베이스에 대한 연결을 설정합니다.
위 내용은 데이터베이스 마이그레이션을 위해 Docker Compose와 함께 `golang- migration`을 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!