You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.3 KiB
2.3 KiB
T1 任务简报:V38/V39 迁移与通用清单种子
Where This Fits
- Wave: W1
- Depends on: 无
- Contract:
changes/n04-onboard/execution-contract.md - Specs:
changes/n04-onboard/specs/onboarding-checklist/spec.md、changes/n04-onboard/specs/company-knowledge/spec.md - Design:
changes/n04-onboard/design.md的 Data Model 与 Architecture 部分
Objective
新增 V38 建表迁移和 V39 通用清单种子,并先用失败测试锁定表结构、约束、通用项数量和稳定排序。
Files In Scope
mydreamjob-server/src/main/resources/db/migration/V38__onboarding_checklist_and_company_knowledge.sqlmydreamjob-server/src/main/resources/db/migration/V39__onboarding_standard_checklist_seed.sqlmydreamjob-server/src/test/java/com/mydreamjob/onboarding/OnboardingMigrationTest.javamydreamjob-server/src/test/java/com/mydreamjob/onboarding/OnboardingSeedDataIntegrationTest.java- 如项目迁移测试需要共享测试配置,仅可修改同一测试包内的辅助文件。
Required Behavior
- 创建
onboarding_checklist_items、student_onboarding_progress、company_knowledge。 onboarding_checklist_items至少包含合同规定的字段、唯一键、活动/排序索引、company_id对companies(id)的外键。student_onboarding_progress必须对学生与条目唯一,并建立users(id)、onboarding_checklist_items(id)外键。company_knowledge.company_id唯一,并建立companies(id)外键。- V39 必须写入稳定的通用清单;每一步使用明确
item_key、分类、排序和必填标记,不得使用随机值。 - 迁移必须兼容 H2
MODE=MySQL与 MySQL 8.4。
TDD Requirement
- 先写
OnboardingMigrationTest、OnboardingSeedDataIntegrationTest,确认因表或种子不存在而失败。 - 再写 V38/V39 让测试通过。
- 不得先写迁移再补测试。
Evidence Commands
cd D:\1\zhi\zhilai\mydreamjob-server
mvn -Dtest=OnboardingMigrationTest,OnboardingSeedDataIntegrationTest test
Done Definition
- 两条证据测试通过。
- 测试断言三张表存在、关键唯一约束/外键/索引可验证、通用种子数量大于 0 且排序稳定。
- 不修改 V1-V37。
- 不创建 W2 实体、Repository、Service 或 Controller。