Files
MemRelay/projects/d44c219a-0b31-4de1-b160-323eb34a4c6a/数据与持久层红线.md
T

1.7 KiB

title, type, permalink, stable_id, scope, project_id, memory_type, status, revision, restored_from_commit, created_at, updated_at, tags
title type permalink stable_id scope project_id memory_type status revision restored_from_commit created_at updated_at tags
数据与持久层红线 rule main/projects/d44c219a-0b31-4de1-b160-323eb34a4c6a/数据与持久层红线 dc70f54c-8e29-4834-a5c1-a63bc9ac9e68 project d44c219a-0b31-4de1-b160-323eb34a4c6a rule active 1 6a6a895eaf 2026-09-23T15:07:57.973578+00:00 2026-09-23T15:07:57.973633+00:00
data
migration
backup
security
  • 升级永不覆盖持久层:运行目录根 .env、storage/(上传)、backups/、数据库。代码/镜像是可替换层。
  • Prisma 迁移基线为 20260715000000_init,备份格式 2.0.0,不兼容此前数据库/备份/旧追溯码;只能全新安装或升级已用该基线的环境。新变更一律走增量迁移。
  • 全局流水 trace_code_sequence.next_seq 禁止手工回退;耗尽 999999 后停止生码不循环;恢复备份强制校验 nextSeq > max(serialNo)。
  • 已有追溯码/查询记录的档案禁止删除(只能停用/归档);已 ONCHAIN/处理中/UNKNOWN 的追溯码禁止删除和重复上链。
  • 媒体统一以存储 key 入库,展示时经 StorageService.getUrl 转 URL;上传禁止 SVG(防存储型 XSS)。
  • 短链/追溯码 URL 一律动态生成 {clientBaseUrl}/#/trace/{shortCode},勿依赖 DB 的 url 列(已废弃固化)。
  • seed 的追溯码短码必须符合 12 位数字 TRACE_CODE_PATTERN,否则 C 端判 INVALID。
  • 在线存储切换(local↔OSS)必须单 API 实例;OSS bucket policy/CDN 必须排除 .private/ 前缀匿名访问。
  • 生产无默认管理员口令(由安装向导设置);seed 弱口令仅限本地开发。