30 lines
1.7 KiB
Markdown
30 lines
1.7 KiB
Markdown
---
|
|
title: 数据与持久层红线
|
|
type: rule
|
|
permalink: main/projects/d44c219a-0b31-4de1-b160-323eb34a4c6a/数据与持久层红线
|
|
stable_id: dc70f54c-8e29-4834-a5c1-a63bc9ac9e68
|
|
scope: project
|
|
memory_type: rule
|
|
project_id: d44c219a-0b31-4de1-b160-323eb34a4c6a
|
|
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
|
status: active
|
|
revision: 1
|
|
request_id: artveris-migrate-2026-09-03-rule-03
|
|
created_at: '2026-09-03T03:32:31.018549+00:00'
|
|
updated_at: '2026-09-03T03:32:31.018549+00:00'
|
|
tags:
|
|
- 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 弱口令仅限本地开发。 |