From 5310436984b338fa76912553dcce462ccfcb8b46 Mon Sep 17 00:00:00 2001 From: wangdl Date: Sat, 20 Jun 2026 13:35:58 +0800 Subject: [PATCH] fix(ci): add migration baseline to backward-compat workflow - Handles DBs where _prisma_migrations is missing (prisma db push history) - Marks all existing migrations as applied before migrate deploy Co-Authored-By: Claude --- .gitea/workflows/backward-compat.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.gitea/workflows/backward-compat.yml b/.gitea/workflows/backward-compat.yml index b0fda6f..92da8a4 100644 --- a/.gitea/workflows/backward-compat.yml +++ b/.gitea/workflows/backward-compat.yml @@ -25,6 +25,18 @@ jobs: run: | cd /tmp/api-server-compat npm ci + # Baseline: if _prisma_migrations is empty/missing, mark all existing migrations as applied + HAS_MIGS=$(npx prisma db execute --stdin <<< "SELECT COUNT(*) as cnt FROM _prisma_migrations" 2>/dev/null | grep -o '[0-9]*' | head -1 || echo "0") + if [ "$HAS_MIGS" = "0" ] || [ -z "$HAS_MIGS" ]; then + echo "[compat] Baselining existing migrations..." + for m in prisma/migrations/*/; do + m_name=$(basename "$m") + if [ "$m_name" != "backfill_chat_scope.sql" ] && [ "$m_name" != "migration_lock.toml" ]; then + DATABASE_URL="${{ secrets.DATABASE_URL }}" npx prisma migrate resolve --applied "$m_name" 2>/dev/null || true + fi + done + echo "[compat] Baseline complete." + fi DATABASE_URL="${{ secrets.DATABASE_URL }}" npx prisma migrate deploy timeout-minutes: 5