B1-B8 建立项目级流程与QA门禁
这个提交包含在:
@@ -0,0 +1,38 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
||||
SERVER_DIR="$ROOT_DIR/server"
|
||||
REPORT_DIR="${MIGRATION_DRIFT_REPORT_DIR:-$ROOT_DIR/artifacts/qa-flow/migration-drift-$(date +%Y%m%d-%H%M%S)}"
|
||||
STATUS_LOG="$REPORT_DIR/prisma-migrate-status.txt"
|
||||
|
||||
mkdir -p "$REPORT_DIR"
|
||||
|
||||
echo ">>> [migration-drift] Prisma migrate status(只读)"
|
||||
set +e
|
||||
(
|
||||
cd "$SERVER_DIR"
|
||||
npx prisma migrate status
|
||||
) >"$STATUS_LOG" 2>&1
|
||||
status=$?
|
||||
set -e
|
||||
|
||||
cat "$STATUS_LOG"
|
||||
|
||||
if [[ "$status" -eq 0 ]]; then
|
||||
echo "[migration-drift][PASS] 当前 DATABASE_URL 对应数据库与迁移目录一致"
|
||||
echo "[migration-drift] report=$STATUS_LOG"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "[migration-drift][WARN] Prisma migrate status 返回非 0:$status"
|
||||
echo "[migration-drift][WARN] 未执行 migrate reset,也未修改数据库。"
|
||||
echo "[migration-drift][WARN] 安全替代回归命令:bash scripts/qa/run-isolated-regression-dedup.sh"
|
||||
echo "[migration-drift][WARN] 若确需重建本地开发库,必须先人工确认备份与影响范围。"
|
||||
echo "[migration-drift] report=$STATUS_LOG"
|
||||
|
||||
if [[ "${MIGRATION_DRIFT_STRICT:-0}" == "1" ]]; then
|
||||
exit "$status"
|
||||
fi
|
||||
|
||||
exit 0
|
||||
在新工单中引用
屏蔽一个用户