修复(08-08-production-deployment-execution): 明确终止迁移回滚窗口依据
ci-e2e / e2e (push) Canceled after 0s
ci-minimal / check-minimal (push) Canceled after 0s

这个提交包含在:
2026-08-08 20:57:44 +08:00
父节点 8b2ed5bb16
当前提交 b94afcfab0
共修改 6 个文件,包含 88 行新增和 12 行删除
+14 -6
查看文件
@@ -4,6 +4,8 @@
# runs before deploy.sh is allowed to synchronize or execute migrate deploy.
set -euo pipefail
TERMINATION_MIGRATION_ID="20260807193000_contract_registry_termination_workspace"
fail() {
printf '[production-preflight][FAIL] code=%s\n' "$1" >&2
exit 1
@@ -275,13 +277,19 @@ expected_pending_csv="$(printf '%s' "$EXPECTED_PENDING_MIGRATIONS_CSV" | tr ','
|| fail "PROD_MIGRATION_PENDING_ALLOWLIST_MISMATCH"
pass "migration_reconciliation pending=${actual_pending_csv:-none}"
terminated_count="$(db_value "SELECT count(*) FROM contract_registry WHERE status = 'terminated';" | tr -d '\r\n')" \
|| fail "PROD_TERMINATED_COUNT_UNAVAILABLE"
[[ "$terminated_count" =~ ^[0-9]+$ ]] || fail "PROD_TERMINATED_COUNT_INVALID"
if [[ "$terminated_count" -eq 0 ]]; then
pass "rollbackWindow=OPEN terminatedRows=0"
[[ -n "${candidate_set[$TERMINATION_MIGRATION_ID]:-}" ]] \
|| fail "PROD_TERMINATION_MIGRATION_NOT_IN_CANDIDATE"
if [[ -z "${applied_set[$TERMINATION_MIGRATION_ID]:-}" ]]; then
pass "rollbackWindow=OPEN terminatedRows=0 basis=migration_not_applied"
else
pass "rollbackWindow=CLOSED terminatedRows=${terminated_count}"
terminated_count="$(db_value "SELECT count(*) FROM contract_registry WHERE status = 'terminated';" | tr -d '\r\n')" \
|| fail "PROD_TERMINATED_COUNT_UNAVAILABLE"
[[ "$terminated_count" =~ ^[0-9]+$ ]] || fail "PROD_TERMINATED_COUNT_INVALID"
if [[ "$terminated_count" -eq 0 ]]; then
pass "rollbackWindow=OPEN terminatedRows=0 basis=terminated_status_count"
else
pass "rollbackWindow=CLOSED terminatedRows=${terminated_count} basis=terminated_status_count"
fi
fi
pass "migration_status_and_target_checks_complete"
+3
查看文件
@@ -773,6 +773,9 @@ for (const requiredFragment of [
'PROD_TARGET_BUILD_SHA_INVALID',
'PROD_TARGET_VITE_BUILD_SHA_INVALID',
'PROD_TARGET_BUILD_SHA_MISMATCH',
'PROD_TERMINATION_MIGRATION_NOT_IN_CANDIDATE',
'basis=migration_not_applied',
'basis=terminated_status_count',
'PRISMA_STATUS_BEGIN',
'FROM "_prisma_migrations"',
'logged_failure',