docker 当sql文件位于github文件夹中时,如何在golang migrate中执行迁移?

j2cgzkjk  于 2023-08-03  发布在  Docker
关注(0)|答案(1)|浏览(97)

我正在使用migrate/migrate执行postgres本地数据库的迁移。我使用的是本地文件夹中的迁移文件,迁移按预期运行,但我将迁移文件夹移动到了github中的另一个存储库。
我的迁移所在的Github仓库:https://github.com/guimassoqueto/db-migrations
我的本地compose.yml文件,我在其中定义数据库和迁移:

version: '3.9'

services:
  postgres:
    container_name: postgres
    image: postgres:alpine
    restart: always
    networks:
      - local
    ports:
      - "${POSTGRES_PORT}:${POSTGRES_PORT}"
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -d ${POSTGRES_DB} -U ${POSTGRES_USER}"]
      interval: 15s
      timeout: 5s
      retries: 5
      start_period: 30s
    environment:
      POSTGRES_DB: ${POSTGRES_DB}
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
      POSTGRES_USER: ${POSTGRES_USER}

  migrate:
    container_name: migrate
    image: migrate/migrate
    networks:
      - local
    command: "-source https://github.com/guimassoqueto/db-migrations/blob/main/migrations -database postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:${POSTGRES_PORT}/${POSTGRES_DB}?sslmode=disable -verbose up"
    links:
      - postgres
    depends_on:
      postgres:
        condition: service_healthy

networks:
  local:
    name: local
    driver: bridge

字符串
我想我在compose文件中的command键上犯了一些错误,但我不知道我到底做错了什么。

相关问题