Commit Graph

2 Commits

Author SHA1 Message Date
灵应 653be7755b fix: handle Alembic offline mode in migration _column_exists() helper
CI/CD Pipeline / Build Production Runtime Images (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Has been skipped
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Staging E2E Tests (push) Failing after 52h57m33s
CI/CD Pipeline / Deploy Staging (push) Failing after 52h58m54s
CI/CD Pipeline / Frontend Lint (push) Failing after 53h0m13s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 53h0m59s
The _column_exists() helper in migrations 026-029 calls conn.execute()
which returns None in Alembic's offline/SQL mode (--sql flag), causing
AttributeError on result.scalar(). Add context.is_offline_mode() guard
to skip the idempotency check in offline mode and unconditionally emit
the DDL statements.

Fixes: Validate CI step 'alembic upgrade head --sql' failure.
2026-07-07 07:53:27 +08:00
灵应 6a853fef3c fix: 补建缺失的 Alembic 迁移文件 026-029
CI/CD Pipeline / Deploy Staging (push) Has been skipped
CI/CD Pipeline / Staging E2E Tests (push) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Has been skipped
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (push) Failing after 53h9m46s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 53h9m57s
生产 DB 已执行过 026-029 迁移但文件丢失(可能 rebase 导致),
导致 alembic 报 'Can't locate revision identified by 029_user_phone'。

补建内容:
- 026: users 表加 name, avatar, updated_at
- 027: users 表加 ban_reason, ban_at
- 028: users 表加 admin_status, admin_remarks
- 029: users 表加 phone

所有 upgrade 做幂等检查(IF NOT EXISTS),安全用于已有字段的库。
2026-07-07 07:44:30 +08:00