fix(ci): add migration baseline to backward-compat workflow
Some checks failed
M-AI-02 Backward Compatibility / backward-compat (push) Failing after 52s
Deploy API Server / build-and-deploy (push) Failing after 26s

- Handles DBs where _prisma_migrations is missing (prisma db push history)
- Marks all existing migrations as applied before migrate deploy

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
wangdl 2026-06-20 13:35:58 +08:00
parent 7d47b3b587
commit 5310436984

View File

@ -25,6 +25,18 @@ jobs:
run: | run: |
cd /tmp/api-server-compat cd /tmp/api-server-compat
npm ci 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 DATABASE_URL="${{ secrets.DATABASE_URL }}" npx prisma migrate deploy
timeout-minutes: 5 timeout-minutes: 5