From a4bf07a3de70baa902831913606b784efb9b0b2b Mon Sep 17 00:00:00 2001 From: xiaoxia Date: Thu, 16 Jul 2026 12:31:43 +0800 Subject: [PATCH] =?UTF-8?q?debug(ci):=20=E7=BB=99Alembic=E6=AD=A5=E9=AA=A4?= =?UTF-8?q?=E5=8A=A0=E9=94=99=E8=AF=AF=E6=8D=95=E8=8E=B7=EF=BC=8C=E5=AE=9A?= =?UTF-8?q?=E4=BD=8DStep=2014=E5=A4=B1=E8=B4=A5=E6=A0=B9=E5=9B=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/ci-cd.yml | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/.gitea/workflows/ci-cd.yml b/.gitea/workflows/ci-cd.yml index 6b42e20f0..89abc57d7 100755 --- a/.gitea/workflows/ci-cd.yml +++ b/.gitea/workflows/ci-cd.yml @@ -136,17 +136,7 @@ jobs: run: "set -eu\nPG_CONTAINER=\"ci-pg-validate-${GITHUB_RUN_ID:-$$}\"\necho \"PG_CONTAINER=$PG_CONTAINER\" >> \"$GITHUB_ENV\"\ndocker rm -f \"$PG_CONTAINER\" 2>/dev/null || true\ndocker run -d --name \"$PG_CONTAINER\" \\\n --shm-size=256m \\\n -e POSTGRES_USER=postgres \\\n -e POSTGRES_PASSWORD=postgres \\\n -e POSTGRES_DB=xiaoxia_saas \\\n -P \\\n --health-cmd \"pg_isready -U postgres\" \\\n --health-interval 3s \\\n --health-timeout 3s \\\n --health-retries 20 \\\n postgres:16\nPG_PORT=$(docker port \"$PG_CONTAINER\" 5432/tcp | cut -d: -f2)\necho \"PostgreSQL port: $PG_PORT\"\necho \"DATABASE_URL=postgresql+psycopg://postgres:postgres@127.0.0.1:$PG_PORT/xiaoxia_saas\" >> \"$GITHUB_ENV\"\nfor i in $(seq 1 30); do\n if docker inspect --format='{{.State.Health.Status}}' \"$PG_CONTAINER\" 2>/dev/null | grep -q healthy; then\n echo \"PostgreSQL is ready on port $PG_PORT\"\n break\n fi\n echo \"Waiting for PostgreSQL... ($i/30)\"\n sleep 2\ndone\ndocker inspect --format='{{.State.Health.Status}}' \"$PG_CONTAINER\" | grep -q healthy\n" - name: Validate Alembic migrations shell: sh - run: 'set -eu - - python3 -m alembic upgrade head --sql > /tmp/alembic-upgrade.sql - - test -s /tmp/alembic-upgrade.sql - - grep -q "Running upgrade" /tmp/alembic-upgrade.sql - - python3 scripts/check_schema_metadata.py - - ' + run: "set -eu\n\n# 调试:输出数据库连接信息(脱敏)\necho \"DATABASE_URL_HOST=$(echo $DATABASE_URL | sed 's|.*@||; s|/.*||')\"\necho \"PG_CONTAINER=${PG_CONTAINER:-not_set}\"\ndocker ps --filter \"name=${PG_CONTAINER:-none}\" --format '{{.Names}} {{.Status}} {{.Ports}}'\n\necho \"=== Running Alembic migrations (--sql mode) ===\"\nset +e\npython3 -m alembic upgrade head --sql > /tmp/alembic-upgrade.sql 2> /tmp/alembic-error.log\nALEMBIC_EXIT=$?\nset -e\n\nif [ $ALEMBIC_EXIT -ne 0 ]; then\n echo \"❌ Alembic failed with exit code $ALEMBIC_EXIT\"\n echo \"=== stderr output ===\"\n cat /tmp/alembic-error.log\n echo \"=== generated SQL (last 30 lines) ===\"\n tail -30 /tmp/alembic-upgrade.sql 2>/dev/null || echo \"(no SQL generated)\"\n exit $ALEMBIC_EXIT\nfi\n\necho \"✅ Alembic SQL generation succeeded\"\ntest -s /tmp/alembic-upgrade.sql\ngrep -q \"Running upgrade\" /tmp/alembic-upgrade.sql\n\npython3 scripts/check_schema_metadata.py\n" - name: Check migration safety shell: sh env: