1.2 KiB
1.2 KiB
id, status
| id | status |
|---|---|
| ac-0021 | active |
기본 전략 migration 멱등 계약
Criterion
Alembic data migration은 active name="target_value", config={} 전략을 중복 없이 보장하고 동일 (name, config) row가 있으면 재사용해야 한다. 기본 전략의 존재는 strategy 미지정 또는 null 포트폴리오 생성에서 암묵적 전략 선택을 유발해서는 안 된다.
Verification
- 성공 조건: 빈 DB upgrade 후 기본 전략 한 건이 active, revision 1과 runtime 일치 derived identity로 존재한다.
- 실패·경계 조건: migration 재실행이나 기존 동일 row가 중복 row를 만들지 않고, 기본 전략 존재가 implicit portfolio selection을 유발하지 않는다.
- 검사 방법: migration unit/idempotency test와 신규 PostgreSQL DB full upgrade/head 재실행, strategy 미지정·explicit
nullportfolio create read-back을 수행한다. - 현재 구현 평가: migration unit test가 scoped 재실행에서 PASS했고, v1 route에는 strategy 미지정 생성 회귀가 있다. legacy
/portfolios에도 동일한 생성·read-back 검증이 추가되기 전까지 executable coverage는PARTIAL이다.