fix(billing): make quota seed and column names match the product SSOT

The product plan is the only source for quota numbers, but the 0001 seed
used a second set (agent_chat 20/50, tryon hard 10) and omitted hairstyle,
hd_export and report regen. Migration 0003 replaces the seed and renames
points_reserved → quota_reserved and bonus_value → bonus_granted so the
docs and the schema stop contradicting each other.

Effective limit now clips at hard_cap. CI runs the integration slice
against the Postgres/Redis services it already starts.
This commit is contained in:
xsl
2026-08-14 11:28:35 +08:00
parent c97f8ae3e1
commit 2009aa938c
11 changed files with 179 additions and 16 deletions
+7 -1
View File
@@ -84,7 +84,7 @@ jobs:
run: uv run lint-imports --verbose
# --- 防线 4: 单元测试 + 覆盖率 ---
- name: Pytest
- name: Pytest (unit)
run: uv run pytest --cov-report=xml
# --- 防线 5: 数据库迁移必须可正向执行并可回滚 (T-P1-06) ---
@@ -94,6 +94,12 @@ jobs:
uv run alembic downgrade base
uv run alembic upgrade head
# --- 防线 5b: 集成切片。容器已经为迁移往返拉起来了,不跑等于白起 ---
- name: Pytest (integration)
env:
MEIDA_RUN_INTEGRATION: "1"
run: uv run pytest -m integration --no-cov
# --- 防线 6: 敏感信息扫描 ---
- name: Secrets scan (detect-secrets)
run: |