chore: v1 整理 — 清理历史文件、DDL 合并、文档归档

- 清理 1155 个已删除的历史文件(废弃 prompt_logs、tmp、旧 ops 脚本)
- export/ 数据文件从 git 移除(已在 .gitignore)
- demo-miniprogram 从 tmp/ 移入 apps/,添加 CLAUDE.md 注解
- DDL 合并:完整 schema 定义填充到 db/*/schemas/(从 docs/database/ddl/ 复制)
- 39 个 v1 迁移脚本归档到 db/_archived/migrations_v1_merged/
- 4 个迁移变更类 BD_Manual 文档归档到 docs/database/_archived/
- .gitignore 补充 .vite/ 和 apps/*.zip
- settings.json 添加 effortLevel 默认配置
- scripts/ops/ 新增运维脚本入库

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Neo
2026-04-06 00:39:27 +08:00
parent 6f8f12314f
commit 779b2f6d52
1340 changed files with 9124 additions and 132087 deletions

View File

@@ -7,7 +7,7 @@
映射数据,让测试用户能通过 dev-login 登录后正常访问业务页面。
操作内容:
1. 确保 site_code_mapping 中有真实门店映射
1. 确保 biz.sites 中有真实门店注册记录
2. 创建/更新测试用户为 approved 状态
3. 分配门店角色user_site_roles
4. 创建助教绑定user_assistant_binding
@@ -87,10 +87,10 @@ def _safe_tenant_id():
return REAL_TENANT_ID
def ensure_site_code_mapping(cur) -> int:
"""确保 site_code_mapping 中有朗朗桌球的映射,返回 site_id。"""
def ensure_site_registration(cur) -> int:
"""确保 biz.sites 中有朗朗桌球的注册记录,返回 site_id。"""
cur.execute(
"SELECT site_id FROM auth.site_code_mapping WHERE site_code = %s",
"SELECT site_id FROM biz.sites WHERE site_code = %s",
(SITE_CODE,),
)
row = cur.fetchone()
@@ -100,28 +100,28 @@ def ensure_site_code_mapping(cur) -> int:
# site_id 不匹配(旧测试数据),更新为真实值
cur.execute(
"""
UPDATE auth.site_code_mapping
UPDATE biz.sites
SET site_id = %s, site_name = %s, tenant_id = %s
WHERE site_code = %s
""",
(REAL_SITE_ID, REAL_SHOP_NAME, _safe_tenant_id(), SITE_CODE),
)
log.info("site_code_mapping 已更新: %s%s (%s)(旧值 %s",
log.info("biz.sites 已更新: %s%s (%s)(旧值 %s",
SITE_CODE, REAL_SITE_ID, REAL_SHOP_NAME, existing_site_id)
else:
log.info("site_code_mapping 已存在: %s%s (%s)", SITE_CODE, REAL_SITE_ID, REAL_SHOP_NAME)
log.info("biz.sites 已存在: %s%s (%s)", SITE_CODE, REAL_SITE_ID, REAL_SHOP_NAME)
return REAL_SITE_ID
cur.execute(
"""
INSERT INTO auth.site_code_mapping (site_code, site_id, site_name, tenant_id)
INSERT INTO biz.sites (site_code, site_id, site_name, tenant_id)
VALUES (%s, %s, %s, %s)
RETURNING site_id
""",
(SITE_CODE, REAL_SITE_ID, REAL_SHOP_NAME, _safe_tenant_id()),
)
site_id = cur.fetchone()[0]
log.info("✅ 已创建 site_code_mapping: %s%s (%s)", SITE_CODE, site_id, REAL_SHOP_NAME)
log.info("✅ 已创建 biz.sites: %s%s (%s)", SITE_CODE, site_id, REAL_SHOP_NAME)
return site_id
@@ -303,7 +303,7 @@ def main():
conn = get_conn()
try:
with conn.cursor() as cur:
site_id = ensure_site_code_mapping(cur)
site_id = ensure_site_registration(cur)
user_id, _ = ensure_user(cur, args.openid, args.nickname, args.reset)
ensure_site_role(cur, user_id, site_id, args.role)
ensure_binding(cur, user_id, site_id, args.role)