@chongyan/autospec 1.0.1 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.en.md +447 -321
- package/README.md +418 -286
- package/knowledge/01-principles/00-principles-hierarchy.md +247 -0
- package/knowledge/01-principles/01-first-principles.md +241 -0
- package/knowledge/01-principles/02-strategic-principles.md +286 -0
- package/knowledge/01-principles/03-tactical-principles.md +385 -0
- package/knowledge/01-principles/04-operational-principles.md +275 -0
- package/knowledge/01-principles/05-domain-principles.md +539 -0
- package/knowledge/01-principles/06-methodology-principles.md +281 -0
- package/knowledge/01-principles/07-cognitive-principles.md +277 -0
- package/knowledge/01-principles/08-auto-fix-principles.md +320 -0
- package/knowledge/01-principles/09-constitution.md +220 -0
- package/knowledge/{principles/evolution.md → 01-principles/10-evolution-mechanism.md} +160 -14
- package/knowledge/01-principles/README.en.md +385 -0
- package/knowledge/01-principles/README.md +385 -0
- package/knowledge/{process/overview.md → 02-process/00-overview.md} +90 -5
- package/knowledge/02-process/README.en.md +143 -0
- package/knowledge/02-process/README.md +186 -0
- package/knowledge/{guides/support/pipeline-protocol.md → 03-guides/00-pipeline-protocol.md} +10 -10
- package/knowledge/{guides/support/team-orchestrator.md → 03-guides/01-team-orchestrator.md} +53 -8
- package/knowledge/{guides/stages/requirement-analyzer.md → 03-guides/02-analyze-requirement.md} +3 -3
- package/knowledge/{guides/stages/ai-effect-evaluator.md → 03-guides/08-evaluate-ai-effect.md} +14 -7
- package/knowledge/{guides/support/skill-distiller.md → 03-guides/19-distill-skill.md} +3 -3
- package/knowledge/{guides/support/skill-updater.md → 03-guides/20-update-skill.md} +1 -1
- package/knowledge/{guides/support/methodology-extractor.md → 03-guides/22-extract-methodology.md} +2 -2
- package/knowledge/{guides/support/complexity-assessor.md → 03-guides/24-assess-complexity.md} +6 -4
- package/knowledge/{guides/support/tech-stack-analyzer.md → 03-guides/26-analyze-tech-stack.md} +1 -1
- package/knowledge/{guides/domain-driven-design.md → 03-guides/42-apply-ddd.md} +1 -1
- package/knowledge/{process/ai-sdlc.md → 03-guides/43-run-ai-sdlc.md} +1 -1
- package/knowledge/{guides/knowledge-management.md → 03-guides/44-manage-knowledge.md} +4 -4
- package/knowledge/03-guides/README.en.md +212 -0
- package/knowledge/03-guides/README.md +212 -0
- package/knowledge/{checklists/requirement.md → 04-checklists/00-requirement.md} +1 -1
- package/knowledge/{checklists/design.md → 04-checklists/01-design.md} +1 -1
- package/knowledge/{checklists/code.md → 04-checklists/02-code.md} +16 -1
- package/knowledge/{checklists/release.md → 04-checklists/04-release.md} +1 -1
- package/knowledge/04-checklists/README.en.md +119 -0
- package/knowledge/04-checklists/README.md +123 -0
- package/knowledge/{config/validation-patterns.yaml → 05-config/00-validation-patterns.yaml} +1 -1
- package/knowledge/{config/team-tasks.yaml → 05-config/02-team-tasks.yaml} +2 -2
- package/knowledge/05-config/03-role-composition.yaml +346 -0
- package/knowledge/{config/skill-compositions.yaml → 05-config/05-skill-compositions.yaml} +24 -24
- package/knowledge/05-config/README.en.md +54 -0
- package/knowledge/05-config/README.md +132 -0
- package/knowledge/06-environment/00-template-registry.md +310 -0
- package/knowledge/06-environment/01-detection-patterns.yaml +1692 -0
- package/knowledge/{environment → 06-environment}/README.en.md +4 -0
- package/knowledge/{environment → 06-environment}/README.md +66 -25
- package/knowledge/{standards/coding-style.md → 07-standards/00-coding-style.md} +123 -4
- package/knowledge/{standards/code-review.md → 07-standards/01-code-review.md} +3 -3
- package/knowledge/{standards/data-consistency.md → 07-standards/02-data-consistency.md} +1 -1
- package/knowledge/{standards/document-versioning.md → 07-standards/03-document-versioning.md} +1 -1
- package/knowledge/{standards/risk-detection.md → 07-standards/04-risk-detection.md} +5 -5
- package/knowledge/07-standards/README.en.md +119 -0
- package/knowledge/07-standards/README.md +123 -0
- package/knowledge/08-organization/00-vision-mission.md +113 -0
- package/knowledge/{organization/ai-native-team.md → 08-organization/01-ai-native-culture.md} +1 -1
- package/knowledge/{organization/team-metrics.md → 08-organization/02-team-metrics.md} +1 -1
- package/knowledge/08-organization/03-committee-structure.md +54 -0
- package/knowledge/08-organization/04-governance-metrics.md +55 -0
- package/knowledge/08-organization/05-improvement-process.md +71 -0
- package/knowledge/08-organization/README.en.md +165 -0
- package/knowledge/08-organization/README.md +165 -0
- package/knowledge/09-templates/00-requirement-proposal.md +344 -0
- package/knowledge/09-templates/01-architecture-design.md +494 -0
- package/knowledge/09-templates/02-api-design.md +408 -0
- package/knowledge/09-templates/03-database-design.md +313 -0
- package/knowledge/09-templates/04-product-design.md +237 -0
- package/knowledge/09-templates/05-domain-business.md +388 -0
- package/knowledge/09-templates/06-test-design.md +268 -0
- package/knowledge/09-templates/07-evaluation-design.md +372 -0
- package/knowledge/09-templates/08-component-knowledge.md +272 -0
- package/knowledge/09-templates/09-best-practices.md +218 -0
- package/knowledge/{environment/middleware-knowledge.md → 09-templates/10-middleware-knowledge.md} +106 -1
- package/knowledge/09-templates/README.en.md +222 -0
- package/knowledge/09-templates/README.md +216 -0
- package/knowledge/README.en.md +372 -0
- package/knowledge/README.md +354 -99
- package/package.json +1 -1
- package/plugins/.claude-plugin/plugin.json +460 -81
- package/plugins/agents/roles/ceo.md +1 -1
- package/plugins/agents/roles/product-owner.md +1 -1
- package/plugins/agents/roles/tech-lead.md +1 -1
- package/plugins/agents/support/consistency-checker.md +36 -3
- package/plugins/agents/support/monitoring-agent.md +215 -0
- package/plugins/agents/support/safety-auditor.md +2 -2
- package/plugins/agents/support/stage-gate-evaluator.md +95 -11
- package/plugins/agents/support/test-coverage-reviewer.md +1 -1
- package/plugins/benchmarks/templates/README.md +165 -13
- package/plugins/benchmarks/templates/commands/apply-template.yaml +108 -0
- package/plugins/benchmarks/templates/commands/archive-template.yaml +65 -0
- package/plugins/benchmarks/templates/commands/env-export-template.yaml +64 -0
- package/plugins/benchmarks/templates/commands/env-sync-template.yaml +104 -0
- package/plugins/benchmarks/templates/commands/env-template-template.yaml +96 -0
- package/plugins/benchmarks/templates/commands/env-template.yaml +58 -0
- package/plugins/benchmarks/templates/commands/env-update-template.yaml +110 -0
- package/plugins/benchmarks/templates/commands/env-validate-template.yaml +95 -0
- package/plugins/benchmarks/templates/commands/field-evolve-template.yaml +104 -0
- package/plugins/benchmarks/templates/commands/project-evolve-template.yaml +104 -0
- package/plugins/benchmarks/templates/commands/propose-template.yaml +88 -0
- package/plugins/benchmarks/templates/commands/review-template.yaml +124 -0
- package/plugins/benchmarks/templates/commands/run-template.yaml +127 -0
- package/plugins/benchmarks/templates/commands/test-template.yaml +149 -0
- package/plugins/benchmarks/templates/pipeline/experiment-template.yaml +92 -0
- package/plugins/benchmarks/templates/pipeline/hotfix-template.yaml +81 -0
- package/plugins/benchmarks/templates/skills/agile-iteration-template.yaml +78 -0
- package/plugins/benchmarks/templates/skills/benchmark-executor-template.yaml +114 -0
- package/plugins/benchmarks/templates/skills/benchmark-generator-template.yaml +52 -0
- package/plugins/benchmarks/templates/skills/delivery-stage-template.yaml +130 -0
- package/plugins/benchmarks/templates/skills/design-stage-template.yaml +131 -0
- package/plugins/benchmarks/templates/skills/experiment-iteration-template.yaml +60 -0
- package/plugins/benchmarks/templates/skills/exploration-phase-template.yaml +114 -0
- package/plugins/benchmarks/templates/skills/field-evolve-analyzer-template.yaml +51 -0
- package/plugins/benchmarks/templates/skills/field-evolve-distiller-template.yaml +34 -0
- package/plugins/benchmarks/templates/skills/field-evolve-executor-template.yaml +50 -0
- package/plugins/benchmarks/templates/skills/field-evolve-fixer-template.yaml +52 -0
- package/plugins/benchmarks/templates/skills/field-evolve-learner-template.yaml +33 -0
- package/plugins/benchmarks/templates/skills/field-evolve-scanner-template.yaml +74 -0
- package/plugins/benchmarks/templates/skills/field-evolve-template.yaml +71 -0
- package/plugins/benchmarks/templates/skills/field-evolve-verifier-template.yaml +51 -0
- package/plugins/benchmarks/templates/skills/hotfix-iteration-template.yaml +54 -0
- package/plugins/benchmarks/templates/skills/implementation-stage-template.yaml +127 -0
- package/plugins/benchmarks/templates/skills/layer1-validation-template.yaml +121 -0
- package/plugins/benchmarks/templates/skills/project-evolve-analyzer-template.yaml +51 -0
- package/plugins/benchmarks/templates/skills/project-evolve-fixer-template.yaml +52 -0
- package/plugins/benchmarks/templates/skills/project-evolve-generator-template.yaml +34 -0
- package/plugins/benchmarks/templates/skills/project-evolve-learner-template.yaml +50 -0
- package/plugins/benchmarks/templates/skills/project-evolve-reviewer-template.yaml +50 -0
- package/plugins/benchmarks/templates/skills/project-evolve-scanner-template.yaml +75 -0
- package/plugins/benchmarks/templates/skills/project-evolve-template.yaml +72 -0
- package/plugins/benchmarks/templates/skills/project-evolve-verifier-template.yaml +51 -0
- package/plugins/benchmarks/templates/skills/skill-forge-template.yaml +117 -0
- package/plugins/benchmarks/templates/skills/startup-guard-template.yaml +103 -0
- package/plugins/benchmarks/templates/skills/testing-stage-template.yaml +146 -0
- package/plugins/benchmarks/templates/skills/waterfall-iteration-template.yaml +55 -0
- package/plugins/commands/README.en.md +2 -2
- package/plugins/commands/README.md +2 -2
- package/plugins/commands/apply.md +102 -16
- package/plugins/commands/archive.md +60 -4
- package/plugins/commands/env-sync.md +1047 -406
- package/plugins/commands/env-template.md +11 -135
- package/plugins/commands/env-update.md +1 -1
- package/plugins/commands/env-validate.md +3 -3
- package/plugins/commands/explore.md +118 -1
- package/plugins/commands/field-evolve.md +51 -175
- package/plugins/commands/project-evolve.md +167 -68
- package/plugins/commands/propose.md +97 -6
- package/plugins/commands/review.md +5 -5
- package/plugins/commands/run.md +841 -13
- package/plugins/commands/status.md +138 -17
- package/plugins/commands/test.md +389 -0
- package/plugins/hooks/constitution-guard.js +1 -1
- package/plugins/hooks/environment-autocommit.js +366 -24
- package/plugins/hooks/environment-manager.js +3 -2
- package/plugins/hooks/execution-tracker.js +109 -4
- package/plugins/hooks/layer1-validator.js +117 -1
- package/plugins/hooks/lib/auto-fix-loop.js +605 -0
- package/plugins/hooks/lib/environment-config-loader.js +11 -7
- package/plugins/hooks/lib/hook-state-manager.js +98 -0
- package/plugins/hooks/lib/memory-extractor.js +27 -5
- package/plugins/hooks/lib/memory-manager.js +1 -1
- package/plugins/hooks/lib/test-auto-fix.test.js +194 -0
- package/plugins/hooks/monitoring-trigger.js +467 -0
- package/plugins/skills/README.en.md +15 -3
- package/plugins/skills/README.md +21 -11
- package/plugins/skills/agile-iteration/SKILL.md +187 -0
- package/plugins/skills/delivery-stage/SKILL.md +133 -12
- package/plugins/skills/design-stage/SKILL.md +103 -12
- package/plugins/skills/experiment-evaluator/SKILL.md +271 -0
- package/plugins/skills/experiment-iteration/SKILL.md +154 -0
- package/plugins/skills/exploration-phase/SKILL.md +93 -10
- package/plugins/skills/field-evolve-analyzer/SKILL.md +65 -0
- package/plugins/skills/field-evolve-distiller/SKILL.md +66 -0
- package/plugins/skills/field-evolve-executor/SKILL.md +94 -0
- package/plugins/skills/field-evolve-executor/executor.js +342 -0
- package/plugins/skills/field-evolve-fixer/SKILL.md +69 -0
- package/plugins/skills/field-evolve-learner/SKILL.md +65 -0
- package/plugins/skills/field-evolve-scanner/SKILL.md +87 -0
- package/plugins/skills/field-evolve-scanner/scripts/fallback-scanner.js +288 -0
- package/plugins/skills/field-evolve-verifier/SKILL.md +64 -0
- package/plugins/skills/hotfix-iteration/SKILL.md +279 -0
- package/plugins/skills/implementation-stage/SKILL.md +156 -15
- package/plugins/skills/layer1-validation/SKILL.md +1 -1
- package/plugins/skills/pending-dashboard/SKILL.md +9 -8
- package/plugins/skills/project-evolve-analyzer/SKILL.md +95 -0
- package/plugins/skills/project-evolve-fixer/SKILL.md +99 -0
- package/plugins/skills/project-evolve-generator/SKILL.md +149 -0
- package/plugins/skills/project-evolve-learner/SKILL.md +103 -0
- package/plugins/skills/project-evolve-reviewer/SKILL.md +104 -0
- package/plugins/skills/project-evolve-scanner/SKILL.md +95 -0
- package/plugins/skills/project-evolve-scanner/scripts/dependency-reuse-checker.js +395 -0
- package/plugins/skills/project-evolve-scanner/scripts/subsystem-coverage.js +315 -0
- package/plugins/skills/project-evolve-verifier/SKILL.md +105 -0
- package/plugins/skills/requirement-stage/SKILL.md +47 -13
- package/plugins/skills/skill-forge/SKILL.md +2 -2
- package/plugins/skills/testing-stage/SKILL.md +583 -8
- package/plugins/skills/waterfall-iteration/SKILL.md +115 -0
- package/scripts/cli/index.js +1 -1
- package/scripts/cli/init.js +30 -4
- package/scripts/cli/list.js +3 -2
- package/scripts/config/commands.config.js +8 -8
- package/scripts/config/hooks.config.js +1 -1
- package/scripts/install/constants.js +204 -165
- package/scripts/state.js +210 -1
- package/knowledge/config/README.en.md +0 -44
- package/knowledge/config/README.md +0 -44
- package/knowledge/config/role-composition.yaml +0 -98
- package/knowledge/config/team-triggers.yaml +0 -198
- package/knowledge/domain/README.md +0 -115
- package/knowledge/domain/flows/README.md +0 -194
- package/knowledge/domain/glossary.md +0 -143
- package/knowledge/domain/rules.md +0 -138
- package/knowledge/environment/component-knowledge.md +0 -316
- package/knowledge/environment/detection-patterns.yaml +0 -502
- package/knowledge/environment/template-registry.md +0 -321
- package/knowledge/guides/requirement-engineering.md +0 -329
- package/knowledge/guides/system-design.md +0 -352
- package/knowledge/principles/constitution.md +0 -134
- package/knowledge/principles/core-principles.md +0 -368
- package/knowledge/principles/design-philosophy.md +0 -877
- package/knowledge/process/README.en.md +0 -38
- package/knowledge/process/README.md +0 -48
- package/knowledge/templates/ai-evaluation.md +0 -150
- package/knowledge/templates/api-design.md +0 -117
- package/knowledge/templates/database-design.md +0 -132
- package/knowledge/templates/domain-driven-design.md +0 -321
- package/knowledge/templates/product-proposal.md +0 -201
- package/knowledge/templates/system-design.md +0 -227
- package/knowledge/templates/task-breakdown.md +0 -107
- package/knowledge/templates/test-case.md +0 -170
- package/plugins/commands/validate.md +0 -108
- package/plugins/skills/benchmark-executor/README.md +0 -93
- package/plugins/skills/evolution-process/SKILL.md +0 -291
- package/plugins/skills/project-evolution/SKILL.md +0 -847
- package/scripts/evolution/evolution-router.js +0 -273
- package/scripts/evolution/evolution-signal-collector.js +0 -307
- package/scripts/evolution/knowledge-loader.js +0 -346
- package/scripts/evolution/marketplace.js +0 -317
- package/scripts/evolution/version-manager.js +0 -371
- /package/knowledge/{process → 02-process}/01-requirement.md +0 -0
- /package/knowledge/{process → 02-process}/02-design.md +0 -0
- /package/knowledge/{process → 02-process}/03-implementation.md +0 -0
- /package/knowledge/{process → 02-process}/04-review.md +0 -0
- /package/knowledge/{process → 02-process}/05-testing.md +0 -0
- /package/knowledge/{process → 02-process}/06-delivery.md +0 -0
- /package/knowledge/{guides/stages/design-planner.md → 03-guides/03-design-solution.md} +0 -0
- /package/knowledge/{guides/stages/code-implementer.md → 03-guides/04-implement-code.md} +0 -0
- /package/knowledge/{guides/stages/test-planner.md → 03-guides/05-plan-testing.md} +0 -0
- /package/knowledge/{guides/stages/test-generator.md → 03-guides/06-generate-tests.md} +0 -0
- /package/knowledge/{guides/stages/release-checker.md → 03-guides/07-check-release.md} +0 -0
- /package/knowledge/{guides/stages/requirement-reviewer.md → 03-guides/09-review-requirement.md} +0 -0
- /package/knowledge/{guides/stages/design-reviewer.md → 03-guides/10-review-design.md} +0 -0
- /package/knowledge/{guides/stages/code-reviewer.md → 03-guides/11-review-code.md} +0 -0
- /package/knowledge/{guides/stages/test-reviewer.md → 03-guides/12-review-testing.md} +0 -0
- /package/knowledge/{guides/stages/security-reviewer.md → 03-guides/13-audit-security.md} +0 -0
- /package/knowledge/{guides/stages/consistency-checker.md → 03-guides/14-check-consistency.md} +0 -0
- /package/knowledge/{guides/stages/unit-test-runner.md → 03-guides/15-run-unit-tests.md} +0 -0
- /package/knowledge/{guides/stages/integration-test-runner.md → 03-guides/16-run-integration-tests.md} +0 -0
- /package/knowledge/{guides/stages/test-context-analyzer.md → 03-guides/17-analyze-test-context.md} +0 -0
- /package/knowledge/{guides/support/practice-logger.md → 03-guides/18-log-practice.md} +0 -0
- /package/knowledge/{guides/support/skill-validator.md → 03-guides/21-validate-skill.md} +0 -0
- /package/knowledge/{guides/support/scope-inference.md → 03-guides/23-infer-scope.md} +0 -0
- /package/knowledge/{guides/support/component-discovery.md → 03-guides/25-discover-component.md} +0 -0
- /package/knowledge/{guides/support/environment-scanner.md → 03-guides/27-scan-environment.md} +0 -0
- /package/knowledge/{guides/support/environment-validator.md → 03-guides/28-validate-environment.md} +0 -0
- /package/knowledge/{guides/support/knowledge-generator.md → 03-guides/29-generate-knowledge.md} +0 -0
- /package/knowledge/{guides/support/ai-capability-analyzer.md → 03-guides/30-analyze-ai-capability.md} +0 -0
- /package/knowledge/{guides/support/ai-component-analyzer.md → 03-guides/31-analyze-ai-component.md} +0 -0
- /package/knowledge/{guides/support/ai-agent-analyzer.md → 03-guides/32-analyze-ai-agent.md} +0 -0
- /package/knowledge/{guides/support/ai-rag-analyzer.md → 03-guides/33-analyze-ai-rag.md} +0 -0
- /package/knowledge/{guides/support/ai-task-assessor.md → 03-guides/34-assess-ai-task.md} +0 -0
- /package/knowledge/{guides/support/ai-pipeline-evaluator.md → 03-guides/35-evaluate-ai-pipeline.md} +0 -0
- /package/knowledge/{guides/support/ai-artifact-evaluator.md → 03-guides/36-evaluate-ai-artifact.md} +0 -0
- /package/knowledge/{guides/support/ai-evaluation-planner.md → 03-guides/37-plan-ai-evaluation.md} +0 -0
- /package/knowledge/{guides/support/ai-path-evaluator.md → 03-guides/38-evaluate-ai-path.md} +0 -0
- /package/knowledge/{guides/support/ai-data-validator.md → 03-guides/39-validate-ai-data.md} +0 -0
- /package/knowledge/{guides/support/ai-anomaly-analyzer.md → 03-guides/40-detect-ai-anomaly.md} +0 -0
- /package/knowledge/{guides/support/ai-test-diagnostics.md → 03-guides/41-diagnose-ai-test.md} +0 -0
- /package/knowledge/{guides/support/test-runner.md → 03-guides/45-test-runner.md} +0 -0
- /package/knowledge/{checklists/test.md → 04-checklists/03-test.md} +0 -0
- /package/knowledge/{config/team-stage.yaml → 05-config/01-team-stage.yaml} +0 -0
- /package/knowledge/{config/role-extensions.yaml → 05-config/04-role-extensions.yaml} +0 -0
|
@@ -0,0 +1,408 @@
|
|
|
1
|
+
# 接口设计:{项目/系统名}
|
|
2
|
+
|
|
3
|
+
> **版本**: v1.0
|
|
4
|
+
> **模板来源**: OpenAPI Specification (Swagger) v3.0、RESTful API 最佳实践、Google API Design Guide
|
|
5
|
+
> **适用范围**: RESTful API、GraphQL、gRPC 接口设计
|
|
6
|
+
> **生成模式**: API 概览 → 资源定义 → 端点设计 → 错误处理
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## 1. API 概览
|
|
11
|
+
|
|
12
|
+
### 1.1 基本信息
|
|
13
|
+
|
|
14
|
+
| 字段 | 值 |
|
|
15
|
+
|------|-----|
|
|
16
|
+
| API 名称 | |
|
|
17
|
+
| 版本 | v1.0 |
|
|
18
|
+
| 基础 URL | |
|
|
19
|
+
| 认证方式 | JWT/OAuth2/API Key |
|
|
20
|
+
| 数据格式 | JSON/Protobuf |
|
|
21
|
+
|
|
22
|
+
### 1.2 设计原则
|
|
23
|
+
|
|
24
|
+
- [ ] RESTful 风格
|
|
25
|
+
- [ ] 资源导向设计
|
|
26
|
+
- [ ] 统一的错误处理
|
|
27
|
+
- [ ] 版本控制
|
|
28
|
+
- [ ] 幂等性保证
|
|
29
|
+
- [ ] 速率限制
|
|
30
|
+
|
|
31
|
+
### 1.3 认证授权
|
|
32
|
+
|
|
33
|
+
| 认证方式 | 说明 | 适用场景 |
|
|
34
|
+
|---------|------|---------|
|
|
35
|
+
| API Key | 通过 Header 传递 | 服务端调用 |
|
|
36
|
+
| JWT | Bearer Token | 用户认证 |
|
|
37
|
+
| OAuth2 | 授权码模式 | 第三方授权 |
|
|
38
|
+
|
|
39
|
+
**请求头示例**:
|
|
40
|
+
```http
|
|
41
|
+
Authorization: Bearer {access_token}
|
|
42
|
+
Content-Type: application/json
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## 2. 资源定义
|
|
48
|
+
|
|
49
|
+
### 2.1 资源列表
|
|
50
|
+
|
|
51
|
+
| 资源名称 | 资源路径 | 描述 | 主要操作 |
|
|
52
|
+
|---------|---------|------|---------|
|
|
53
|
+
| | `/api/v1/{resource}` | | GET/POST/PUT/DELETE |
|
|
54
|
+
|
|
55
|
+
### 2.2 资源模型
|
|
56
|
+
|
|
57
|
+
#### {资源名称}
|
|
58
|
+
|
|
59
|
+
```json
|
|
60
|
+
{
|
|
61
|
+
"id": "string,资源唯一标识",
|
|
62
|
+
"name": "string,资源名称",
|
|
63
|
+
"description": "string,资源描述",
|
|
64
|
+
"status": "enum,资源状态",
|
|
65
|
+
"createdAt": "string,创建时间 (ISO8601)",
|
|
66
|
+
"updatedAt": "string,更新时间 (ISO8601)",
|
|
67
|
+
"metadata": "object,扩展元数据"
|
|
68
|
+
}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
| 字段 | 类型 | 必填 | 说明 | 示例 |
|
|
72
|
+
|------|------|------|------|------|
|
|
73
|
+
| id | string | 是 | 资源唯一标识 | uuid |
|
|
74
|
+
| name | string | 是 | 资源名称 | |
|
|
75
|
+
| status | enum | 是 | 状态:ACTIVE/INACTIVE/DELETED | |
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## 3. 端点设计
|
|
80
|
+
|
|
81
|
+
### 3.1 端点列表
|
|
82
|
+
|
|
83
|
+
| 方法 | 端点 | 描述 | 认证 | 幂等 |
|
|
84
|
+
|------|------|------|------|------|
|
|
85
|
+
| GET | `/api/v1/{resource}` | 获取资源列表 | 是 | 是 |
|
|
86
|
+
| GET | `/api/v1/{resource}/{id}` | 获取单个资源 | 是 | 是 |
|
|
87
|
+
| POST | `/api/v1/{resource}` | 创建资源 | 是 | 否 |
|
|
88
|
+
| PUT | `/api/v1/{resource}/{id}` | 更新资源 | 是 | 是 |
|
|
89
|
+
| DELETE | `/api/v1/{resource}/{id}` | 删除资源 | 是 | 是 |
|
|
90
|
+
|
|
91
|
+
### 3.2 端点详情
|
|
92
|
+
|
|
93
|
+
#### GET /api/v1/{resource}
|
|
94
|
+
|
|
95
|
+
**请求参数**:
|
|
96
|
+
|
|
97
|
+
| 参数 | 位置 | 类型 | 必填 | 说明 |
|
|
98
|
+
|------|------|------|------|------|
|
|
99
|
+
| page | query | integer | 否 | 页码,默认 1 |
|
|
100
|
+
| pageSize | query | integer | 否 | 每页数量,默认 20 |
|
|
101
|
+
| sortBy | query | string | 否 | 排序字段 |
|
|
102
|
+
| order | query | string | 否 | 排序方向:asc/desc |
|
|
103
|
+
|
|
104
|
+
**响应示例**:
|
|
105
|
+
```json
|
|
106
|
+
{
|
|
107
|
+
"data": [
|
|
108
|
+
{
|
|
109
|
+
"id": "uuid",
|
|
110
|
+
"name": "资源名称"
|
|
111
|
+
}
|
|
112
|
+
],
|
|
113
|
+
"pagination": {
|
|
114
|
+
"total": 100,
|
|
115
|
+
"page": 1,
|
|
116
|
+
"pageSize": 20,
|
|
117
|
+
"totalPages": 5
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
#### POST /api/v1/{resource}
|
|
123
|
+
|
|
124
|
+
**请求体**:
|
|
125
|
+
```json
|
|
126
|
+
{
|
|
127
|
+
"name": "string,资源名称",
|
|
128
|
+
"description": "string,资源描述",
|
|
129
|
+
"metadata": {}
|
|
130
|
+
}
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
**响应示例**:
|
|
134
|
+
```json
|
|
135
|
+
{
|
|
136
|
+
"id": "uuid",
|
|
137
|
+
"name": "资源名称",
|
|
138
|
+
"createdAt": "2026-03-27T10:00:00Z"
|
|
139
|
+
}
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## 4. 错误处理
|
|
145
|
+
|
|
146
|
+
### 4.1 错误响应格式
|
|
147
|
+
|
|
148
|
+
```json
|
|
149
|
+
{
|
|
150
|
+
"error": {
|
|
151
|
+
"code": "ERROR_CODE",
|
|
152
|
+
"message": "错误描述",
|
|
153
|
+
"details": [],
|
|
154
|
+
"timestamp": "2026-03-27T10:00:00Z",
|
|
155
|
+
"path": "/api/v1/resource"
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### 4.2 错误码定义
|
|
161
|
+
|
|
162
|
+
| 错误码 | HTTP 状态码 | 说明 |
|
|
163
|
+
|-------|-----------|------|
|
|
164
|
+
| VALIDATION_ERROR | 400 | 请求参数验证失败 |
|
|
165
|
+
| UNAUTHORIZED | 401 | 未认证 |
|
|
166
|
+
| FORBIDDEN | 403 | 无权限 |
|
|
167
|
+
| NOT_FOUND | 404 | 资源不存在 |
|
|
168
|
+
| CONFLICT | 409 | 资源冲突 |
|
|
169
|
+
| RATE_LIMITED | 429 | 请求频率超限 |
|
|
170
|
+
| INTERNAL_ERROR | 500 | 服务器内部错误 |
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## 5. 速率限制
|
|
175
|
+
|
|
176
|
+
| 用户类型 | 限制 | 时间窗口 |
|
|
177
|
+
|---------|------|---------|
|
|
178
|
+
| 匿名用户 | 100 请求 | 1 分钟 |
|
|
179
|
+
| 认证用户 | 1000 请求 | 1 分钟 |
|
|
180
|
+
| VIP 用户 | 10000 请求 | 1 分钟 |
|
|
181
|
+
|
|
182
|
+
**响应头**:
|
|
183
|
+
```http
|
|
184
|
+
X-RateLimit-Limit: 1000
|
|
185
|
+
X-RateLimit-Remaining: 999
|
|
186
|
+
X-RateLimit-Reset: 1680000000
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
## 6. 版本控制
|
|
192
|
+
|
|
193
|
+
### 6.1 版本策略
|
|
194
|
+
|
|
195
|
+
- URL 路径版本化:`/api/v1/`, `/api/v2/`
|
|
196
|
+
- 向后兼容至少 2 个版本
|
|
197
|
+
- 废弃通知周期:3 个月
|
|
198
|
+
|
|
199
|
+
### 6.2 版本历史
|
|
200
|
+
|
|
201
|
+
| 版本 | 日期 | 变更说明 |
|
|
202
|
+
|------|------|---------|
|
|
203
|
+
| v1.0 | | 初始版本 |
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
## 7. RPC 接口设计
|
|
208
|
+
|
|
209
|
+
> 适用于 Dubbo、gRPC、Thrift 等 RPC 框架的接口设计
|
|
210
|
+
|
|
211
|
+
### 7.1 RPC 接口概览
|
|
212
|
+
|
|
213
|
+
| 字段 | 值 |
|
|
214
|
+
|------|-----|
|
|
215
|
+
| 服务名称 | |
|
|
216
|
+
| 接口类型 | Facade/Service/Repository/Client |
|
|
217
|
+
| 协议类型 | Dubbo/gRPC/Thrift/自定义 |
|
|
218
|
+
| 服务分组 | |
|
|
219
|
+
| 服务版本 | |
|
|
220
|
+
|
|
221
|
+
### 7.2 接口定义
|
|
222
|
+
|
|
223
|
+
#### 接口声明(语言无关)
|
|
224
|
+
|
|
225
|
+
```
|
|
226
|
+
interface XxxFacade {
|
|
227
|
+
Result method(Request request);
|
|
228
|
+
void notify(Event event);
|
|
229
|
+
}
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
#### 接口方法列表
|
|
233
|
+
|
|
234
|
+
| 方法名 | 参数 | 返回值 | 说明 |
|
|
235
|
+
|--------|------|--------|------|
|
|
236
|
+
| {method} | {params} | {return} | {description} |
|
|
237
|
+
|
|
238
|
+
### 7.3 请求/响应模型
|
|
239
|
+
|
|
240
|
+
#### 请求模型
|
|
241
|
+
|
|
242
|
+
| 字段 | 类型 | 必填 | 说明 |
|
|
243
|
+
|------|------|------|------|
|
|
244
|
+
| {field} | {type} | 是/否 | {description} |
|
|
245
|
+
|
|
246
|
+
#### 响应模型
|
|
247
|
+
|
|
248
|
+
| 字段 | 类型 | 说明 |
|
|
249
|
+
|------|------|------|
|
|
250
|
+
| {field} | {type} | {description} |
|
|
251
|
+
|
|
252
|
+
### 7.4 服务提供者
|
|
253
|
+
|
|
254
|
+
| 实现类 | 路径 | 说明 |
|
|
255
|
+
|--------|------|------|
|
|
256
|
+
| {ServiceImpl} | {path} | 服务实现 |
|
|
257
|
+
|
|
258
|
+
### 7.5 服务引用
|
|
259
|
+
|
|
260
|
+
| 引用方 | 引用方式 | 用途 |
|
|
261
|
+
|--------|----------|------|
|
|
262
|
+
| {project} | 依赖注入/客户端 | {purpose} |
|
|
263
|
+
|
|
264
|
+
### 7.6 配置项
|
|
265
|
+
|
|
266
|
+
| 配置项 | 类型 | 必填 | 默认值 | 说明 |
|
|
267
|
+
|--------|------|------|--------|------|
|
|
268
|
+
| {service}.endpoint | String | 是 | - | 服务地址 |
|
|
269
|
+
| {service}.timeout | Integer | 否 | 5000 | 超时时间(ms) |
|
|
270
|
+
| {service}.retries | Integer | 否 | 2 | 重试次数 |
|
|
271
|
+
|
|
272
|
+
### 7.7 多语言示例
|
|
273
|
+
|
|
274
|
+
#### Java (Dubbo)
|
|
275
|
+
|
|
276
|
+
```java
|
|
277
|
+
@DubboReference(interfaceClass = XxxFacade.class)
|
|
278
|
+
private XxxFacade xxxFacade;
|
|
279
|
+
|
|
280
|
+
public Result call(Request request) {
|
|
281
|
+
return xxxFacade.method(request);
|
|
282
|
+
}
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
#### Go (gRPC)
|
|
286
|
+
|
|
287
|
+
```go
|
|
288
|
+
client := pb.NewXxxFacadeClient(conn)
|
|
289
|
+
resp, err := client.Method(ctx, &pb.Request{...})
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
#### Python (gRPC)
|
|
293
|
+
|
|
294
|
+
```python
|
|
295
|
+
stub = xxx_facade_pb2_grpc.XxxFacadeStub(channel)
|
|
296
|
+
response = stub.Method(xxx_facade_pb2.Request(...))
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
### 7.8 RPC 最佳实践
|
|
300
|
+
|
|
301
|
+
1. 设置合理的超时时间,避免长时间等待
|
|
302
|
+
2. 实现重试机制,处理临时故障
|
|
303
|
+
3. 使用服务分组和版本进行灰度发布
|
|
304
|
+
4. 记录调用日志,便于问题排查
|
|
305
|
+
5. 敏感信息使用环境变量,不要硬编码
|
|
306
|
+
|
|
307
|
+
---
|
|
308
|
+
|
|
309
|
+
## 8. 附录
|
|
310
|
+
|
|
311
|
+
### 7.1 OpenAPI 规范
|
|
312
|
+
|
|
313
|
+
```yaml
|
|
314
|
+
openapi: 3.0.0
|
|
315
|
+
info:
|
|
316
|
+
title: API 名称
|
|
317
|
+
version: 1.0.0
|
|
318
|
+
description: API 描述
|
|
319
|
+
contact:
|
|
320
|
+
name: API 支持团队
|
|
321
|
+
email: support@example.com
|
|
322
|
+
servers:
|
|
323
|
+
- url: https://api.example.com/v1
|
|
324
|
+
description: 生产环境
|
|
325
|
+
- url: https://staging-api.example.com/v1
|
|
326
|
+
description: 预发环境
|
|
327
|
+
paths:
|
|
328
|
+
/api/v1/resource:
|
|
329
|
+
get:
|
|
330
|
+
summary: 获取资源列表
|
|
331
|
+
tags:
|
|
332
|
+
- Resource
|
|
333
|
+
parameters:
|
|
334
|
+
- name: page
|
|
335
|
+
in: query
|
|
336
|
+
schema:
|
|
337
|
+
type: integer
|
|
338
|
+
default: 1
|
|
339
|
+
- name: pageSize
|
|
340
|
+
in: query
|
|
341
|
+
schema:
|
|
342
|
+
type: integer
|
|
343
|
+
default: 20
|
|
344
|
+
responses:
|
|
345
|
+
'200':
|
|
346
|
+
description: 成功
|
|
347
|
+
content:
|
|
348
|
+
application/json:
|
|
349
|
+
schema:
|
|
350
|
+
type: object
|
|
351
|
+
properties:
|
|
352
|
+
data:
|
|
353
|
+
type: array
|
|
354
|
+
items:
|
|
355
|
+
$ref: '#/components/schemas/Resource'
|
|
356
|
+
pagination:
|
|
357
|
+
$ref: '#/components/schemas/Pagination'
|
|
358
|
+
'401':
|
|
359
|
+
description: 未认证
|
|
360
|
+
'403':
|
|
361
|
+
description: 无权限
|
|
362
|
+
'500':
|
|
363
|
+
description: 服务器错误
|
|
364
|
+
components:
|
|
365
|
+
schemas:
|
|
366
|
+
Resource:
|
|
367
|
+
type: object
|
|
368
|
+
properties:
|
|
369
|
+
id:
|
|
370
|
+
type: string
|
|
371
|
+
format: uuid
|
|
372
|
+
name:
|
|
373
|
+
type: string
|
|
374
|
+
createdAt:
|
|
375
|
+
type: string
|
|
376
|
+
format: date-time
|
|
377
|
+
Pagination:
|
|
378
|
+
type: object
|
|
379
|
+
properties:
|
|
380
|
+
total:
|
|
381
|
+
type: integer
|
|
382
|
+
page:
|
|
383
|
+
type: integer
|
|
384
|
+
pageSize:
|
|
385
|
+
type: integer
|
|
386
|
+
totalPages:
|
|
387
|
+
type: integer
|
|
388
|
+
securitySchemes:
|
|
389
|
+
bearerAuth:
|
|
390
|
+
type: http
|
|
391
|
+
scheme: bearer
|
|
392
|
+
bearerFormat: JWT
|
|
393
|
+
security:
|
|
394
|
+
- bearerAuth: []
|
|
395
|
+
```
|
|
396
|
+
|
|
397
|
+
### 7.2 SDK 生成
|
|
398
|
+
|
|
399
|
+
- [ ] JavaScript/TypeScript SDK
|
|
400
|
+
- [ ] Python SDK
|
|
401
|
+
- [ ] Java SDK
|
|
402
|
+
- [ ] Go SDK
|
|
403
|
+
|
|
404
|
+
---
|
|
405
|
+
|
|
406
|
+
**维护者**: 项目团队
|
|
407
|
+
**进化分区**: 受控区
|
|
408
|
+
**关联文档**: `knowledge/09-templates/01-architecture-design.md`, `knowledge/09-templates/03-database-design.md`
|
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
# 数据库设计:{项目/系统名}
|
|
2
|
+
|
|
3
|
+
> **版本**: v1.0
|
|
4
|
+
> **模板来源**: 数据库设计最佳实践、SQL 标准、数据建模方法论
|
|
5
|
+
> **适用范围**: 关系型数据库、NoSQL 数据库、数据仓库设计
|
|
6
|
+
> **生成模式**: 概念模型 → 逻辑模型 → 物理模型 → 优化策略
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## 1. 设计概述
|
|
11
|
+
|
|
12
|
+
### 1.1 基本信息
|
|
13
|
+
|
|
14
|
+
| 字段 | 值 |
|
|
15
|
+
|------|-----|
|
|
16
|
+
| 数据库类型 | MySQL/PostgreSQL/Oracle/MongoDB |
|
|
17
|
+
| 版本 | |
|
|
18
|
+
| 字符集 | UTF-8/UTF8MB4 |
|
|
19
|
+
| 排序规则 | |
|
|
20
|
+
| 存储引擎 | InnoDB/MyISAM |
|
|
21
|
+
|
|
22
|
+
### 1.2 设计原则
|
|
23
|
+
|
|
24
|
+
- [ ] 第三范式 (3NF)
|
|
25
|
+
- [ ] 适当的反范式优化
|
|
26
|
+
- [ ] 主键设计合理
|
|
27
|
+
- [ ] 索引覆盖充分
|
|
28
|
+
- [ ] 分区策略明确
|
|
29
|
+
|
|
30
|
+
### 1.3 数据量预估
|
|
31
|
+
|
|
32
|
+
| 表名 | 初始数据量 | 日增长量 | 年增长率 | 保留策略 |
|
|
33
|
+
|------|-----------|---------|---------|---------|
|
|
34
|
+
| | | | | |
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## 2. 概念模型
|
|
39
|
+
|
|
40
|
+
### 2.1 ER 图
|
|
41
|
+
|
|
42
|
+
```mermaid
|
|
43
|
+
erDiagram
|
|
44
|
+
ENTITY_A {
|
|
45
|
+
string id PK
|
|
46
|
+
string name
|
|
47
|
+
datetime created_at
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
ENTITY_B {
|
|
51
|
+
string id PK
|
|
52
|
+
string id_a FK
|
|
53
|
+
string description
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
ENTITY_A ||--o{ ENTITY_B : "has"
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### 2.2 实体列表
|
|
60
|
+
|
|
61
|
+
| 实体名称 | 说明 | 主键 | 外键 | 索引 |
|
|
62
|
+
|---------|------|------|------|------|
|
|
63
|
+
| | | | | |
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## 3. 逻辑模型
|
|
68
|
+
|
|
69
|
+
### 3.1 表结构
|
|
70
|
+
|
|
71
|
+
#### {表名}
|
|
72
|
+
|
|
73
|
+
**表说明**:
|
|
74
|
+
|
|
75
|
+
| 属性 | 值 |
|
|
76
|
+
|------|-----|
|
|
77
|
+
| 表名 | |
|
|
78
|
+
| 说明 | |
|
|
79
|
+
| 数据量 | |
|
|
80
|
+
| 更新频率 | |
|
|
81
|
+
|
|
82
|
+
**字段定义**:
|
|
83
|
+
|
|
84
|
+
| 字段名 | 类型 | 长度 | 必填 | 默认值 | 说明 |
|
|
85
|
+
|-------|------|------|------|--------|------|
|
|
86
|
+
| id | BIGINT | | YES | AUTO_INCREMENT | 主键 |
|
|
87
|
+
| name | VARCHAR | 100 | YES | | 名称 |
|
|
88
|
+
| status | TINYINT | | YES | 1 | 状态 |
|
|
89
|
+
| created_at | DATETIME | | YES | CURRENT_TIMESTAMP | 创建时间 |
|
|
90
|
+
| updated_at | DATETIME | | YES | ON UPDATE | 更新时间 |
|
|
91
|
+
|
|
92
|
+
**索引设计**:
|
|
93
|
+
|
|
94
|
+
| 索引名 | 字段 | 类型 | 说明 |
|
|
95
|
+
|-------|------|------|------|
|
|
96
|
+
| idx_name | name | NORMAL | 名称查询 |
|
|
97
|
+
| uk_email | email | UNIQUE | 邮箱唯一 |
|
|
98
|
+
|
|
99
|
+
### 3.2 表关系
|
|
100
|
+
|
|
101
|
+
| 主表 | 从表 | 关系类型 | 外键字段 | 级联规则 |
|
|
102
|
+
|------|------|---------|---------|---------|
|
|
103
|
+
| | | 1:N / N:M | | CASCADE/SET NULL |
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## 4. 物理模型
|
|
108
|
+
|
|
109
|
+
### 4.1 DDL 脚本
|
|
110
|
+
|
|
111
|
+
```sql
|
|
112
|
+
CREATE TABLE `table_name` (
|
|
113
|
+
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键 ID',
|
|
114
|
+
`name` VARCHAR(100) NOT NULL COMMENT '名称',
|
|
115
|
+
`status` TINYINT DEFAULT 1 COMMENT '状态:1-正常,0-禁用',
|
|
116
|
+
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|
117
|
+
`updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
|
118
|
+
PRIMARY KEY (`id`),
|
|
119
|
+
UNIQUE KEY `uk_name` (`name`),
|
|
120
|
+
KEY `idx_status` (`status`)
|
|
121
|
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='表说明';
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### 4.2 分区策略
|
|
125
|
+
|
|
126
|
+
| 表名 | 分区类型 | 分区键 | 分区数 | 说明 |
|
|
127
|
+
|------|---------|--------|-------|------|
|
|
128
|
+
| | RANGE/LIST/HASH | | | |
|
|
129
|
+
|
|
130
|
+
### 4.3 分库分表策略
|
|
131
|
+
|
|
132
|
+
| 表名 | 分片键 | 分片算法 | 分片数 | 扩容策略 |
|
|
133
|
+
|------|-------|---------|-------|---------|
|
|
134
|
+
| | user_id | HASH | 16 | 翻倍扩容 |
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## 5. 索引优化
|
|
139
|
+
|
|
140
|
+
### 5.1 索引策略
|
|
141
|
+
|
|
142
|
+
| 场景 | 索引类型 | 字段选择 |
|
|
143
|
+
|------|---------|---------|
|
|
144
|
+
| 主键查询 | PRIMARY KEY | id |
|
|
145
|
+
| 等值查询 | BTREE | 高选择性字段 |
|
|
146
|
+
| 范围查询 | BTREE | 有序字段 |
|
|
147
|
+
| 全文搜索 | FULLTEXT | 文本字段 |
|
|
148
|
+
| 地理查询 | SPATIAL | 坐标字段 |
|
|
149
|
+
|
|
150
|
+
### 5.2 索引维护
|
|
151
|
+
|
|
152
|
+
| 表名 | 索引名 | 大小 | 更新频率 | 维护策略 |
|
|
153
|
+
|------|-------|------|---------|---------|
|
|
154
|
+
| | | | 高频/低频 | 定期重建 |
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## 6. 数据迁移
|
|
159
|
+
|
|
160
|
+
### 6.1 迁移脚本
|
|
161
|
+
|
|
162
|
+
```sql
|
|
163
|
+
-- 升级脚本
|
|
164
|
+
ALTER TABLE table_name ADD COLUMN new_column VARCHAR(100) COMMENT '新字段';
|
|
165
|
+
|
|
166
|
+
-- 回滚脚本
|
|
167
|
+
ALTER TABLE table_name DROP COLUMN new_column;
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### 6.2 数据同步
|
|
171
|
+
|
|
172
|
+
| 源表 | 目标表 | 同步方式 | 频率 | 说明 |
|
|
173
|
+
|------|-------|---------|------|------|
|
|
174
|
+
| | | 实时/定时 | | |
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## 7. 备份与恢复
|
|
179
|
+
|
|
180
|
+
### 7.1 备份策略
|
|
181
|
+
|
|
182
|
+
| 备份类型 | 频率 | 保留时间 | 存储位置 |
|
|
183
|
+
|---------|------|---------|---------|
|
|
184
|
+
| 全量备份 | 每日 | 7 天 | |
|
|
185
|
+
| 增量备份 | 每小时 | 24 小时 | |
|
|
186
|
+
| 日志备份 | 实时 | 3 天 | |
|
|
187
|
+
|
|
188
|
+
### 7.2 恢复策略
|
|
189
|
+
|
|
190
|
+
| 场景 | RTO | RPO | 恢复步骤 |
|
|
191
|
+
|------|-----|-----|---------|
|
|
192
|
+
| 单表误删 | 15 分钟 | 5 分钟 | |
|
|
193
|
+
| 数据库故障 | 1 小时 | 1 分钟 | |
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
## 8. 性能优化
|
|
198
|
+
|
|
199
|
+
### 8.1 查询优化
|
|
200
|
+
|
|
201
|
+
| 问题 SQL | 优化方案 | 预期提升 |
|
|
202
|
+
|---------|---------|---------|
|
|
203
|
+
| | 添加索引/改写 SQL | 10x |
|
|
204
|
+
|
|
205
|
+
### 8.2 配置优化
|
|
206
|
+
|
|
207
|
+
| 参数 | 当前值 | 建议值 | 说明 |
|
|
208
|
+
|------|-------|-------|------|
|
|
209
|
+
| innodb_buffer_pool_size | | | 缓冲池大小 |
|
|
210
|
+
| max_connections | | | 最大连接数 |
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
## 9. 附录
|
|
215
|
+
|
|
216
|
+
### 9.1 命名规范
|
|
217
|
+
|
|
218
|
+
| 对象类型 | 命名规则 | 示例 |
|
|
219
|
+
|---------|---------|------|
|
|
220
|
+
| 表名 | 小写蛇形,复数 | `user_orders` |
|
|
221
|
+
| 字段名 | 小写蛇形 | `created_at` |
|
|
222
|
+
| 索引名 | `idx_{字段}` / `uk_{字段}` | `idx_name` |
|
|
223
|
+
|
|
224
|
+
### 9.2 参考资料
|
|
225
|
+
|
|
226
|
+
- [MySQL 官方文档](https://dev.mysql.com/doc/)
|
|
227
|
+
- [SQL 性能优化指南](url)
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
## 10. 数据模型知识(环境知识)
|
|
232
|
+
|
|
233
|
+
> 本章节用于记录项目中已有的数据模型,供 env-sync 生成知识文件时参考。
|
|
234
|
+
|
|
235
|
+
### 10.1 模型基本信息
|
|
236
|
+
|
|
237
|
+
| 字段 | 必填 | 说明 |
|
|
238
|
+
|------|------|------|
|
|
239
|
+
| 名称 | 是 | 模型名称 |
|
|
240
|
+
| 类型 | 是 | DO/Entity/PO/DTO |
|
|
241
|
+
| 表名 | 是 | 数据库表名 |
|
|
242
|
+
| 数据库 | 否 | 数据库名称 |
|
|
243
|
+
|
|
244
|
+
### 10.2 类型枚举
|
|
245
|
+
|
|
246
|
+
| 类型 | 说明 |
|
|
247
|
+
|------|------|
|
|
248
|
+
| DO | 数据对象,与数据库表对应 |
|
|
249
|
+
| Entity | 实体类,领域模型 |
|
|
250
|
+
| PO | 持久化对象 |
|
|
251
|
+
| DTO | 数据传输对象 |
|
|
252
|
+
| TDO | 大数据表数据对象 |
|
|
253
|
+
|
|
254
|
+
### 10.3 表结构定义
|
|
255
|
+
|
|
256
|
+
| 字段 | 类型 | 可空 | 默认值 | 说明 |
|
|
257
|
+
|------|------|------|--------|------|
|
|
258
|
+
| {column} | {type} | 是/否 | {default} | {description} |
|
|
259
|
+
|
|
260
|
+
### 10.4 数据模型类(语言无关)
|
|
261
|
+
|
|
262
|
+
```
|
|
263
|
+
class XxxModel {
|
|
264
|
+
id: Long
|
|
265
|
+
name: String
|
|
266
|
+
status: Integer
|
|
267
|
+
createdAt: DateTime
|
|
268
|
+
}
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
### 10.5 字段映射
|
|
272
|
+
|
|
273
|
+
| 模型字段 | 数据库字段 | 类型 | 说明 |
|
|
274
|
+
|----------|------------|------|------|
|
|
275
|
+
| {field} | {column} | {type} | {description} |
|
|
276
|
+
|
|
277
|
+
### 10.6 数据访问接口
|
|
278
|
+
|
|
279
|
+
| 方法名 | 参数 | 返回值 | 说明 |
|
|
280
|
+
|--------|------|--------|------|
|
|
281
|
+
| findById | id | Model | 按 ID 查询 |
|
|
282
|
+
| findByCondition | query | List | 条件查询 |
|
|
283
|
+
| insert | model | int | 插入 |
|
|
284
|
+
| update | model | int | 更新 |
|
|
285
|
+
| delete | id | int | 删除 |
|
|
286
|
+
|
|
287
|
+
### 10.7 业务含义
|
|
288
|
+
|
|
289
|
+
| 字段 | 业务含义 | 取值范围 | 说明 |
|
|
290
|
+
|------|----------|----------|------|
|
|
291
|
+
| {field} | {meaning} | {range} | {description} |
|
|
292
|
+
|
|
293
|
+
### 10.8 状态流转
|
|
294
|
+
|
|
295
|
+
如果包含状态字段,描述状态流转:
|
|
296
|
+
|
|
297
|
+
| 状态值 | 状态名 | 可流转到 | 说明 |
|
|
298
|
+
|--------|--------|----------|------|
|
|
299
|
+
| {value} | {name} | {next_states} | {description} |
|
|
300
|
+
|
|
301
|
+
### 10.9 数据量级
|
|
302
|
+
|
|
303
|
+
| 指标 | 值 | 说明 |
|
|
304
|
+
|------|-----|------|
|
|
305
|
+
| 预估数据量 | {count} | 数据规模 |
|
|
306
|
+
| 增长速度 | {rate} | 日增量 |
|
|
307
|
+
| 保留周期 | {period} | 数据保留时间 |
|
|
308
|
+
|
|
309
|
+
---
|
|
310
|
+
|
|
311
|
+
**维护者**: 项目团队
|
|
312
|
+
**进化分区**: 受控区
|
|
313
|
+
**关联文档**: `knowledge/09-templates/01-architecture-design.md`, `knowledge/09-templates/02-api-design.md`, `knowledge/09-templates/05-domain-business.md`
|