- ensure_schema() broker_credentials: daemon_id NOT NULL, PK=(daemon_id,broker)로 갱신 - _row_to_broker_credential: Step2 컬럼 순서(daemon_id 선두)로 갱신 - upsert_broker_credential: ON CONFLICT (daemon_id,broker)로 수정, fallback try/except 제거 - list_broker_credentials: fallback 제거, SELECT 컬럼 순서 갱신 - test_bat020_broker_credential_domain.py: AC-3/AC-4 행 순서를 Step2 포맷으로 갱신 - tests/test_bat021_step2_ensure_schema_and_upsert.py: 12개 신규 테스트 - docs/runbooks/bat-021-req047-step2-migration-runbook.md: 운영 적용 런북 - docs/batches/bat-021: batch 문서(index/planning/design/implementation/verification) 실 PostgreSQL 통합검증(AC-1~7 전건 PASS): Step1 upgrade → backfill → Step2 upgrade → downgrade 시나리오 포함 NULL 사전검증(upgrade 거부) 및 downgrade 안전장치(중복 시 RuntimeError) 확인 521 passed, 0 failed (기존 509 + 신규 12)
3.1 KiB
3.1 KiB
Batch Index
목적
- 이 문서는 batch delivery 단위의 전역 인덱스다.
- 각 batch는
docs/batches/<BAT_ID>/아래에서 profile(standard|batch-lite)에 맞는 산출물을 관리한다.
Batch Register
| BAT ID | Profile | Status | Included REQ | Discovery | Folder |
|---|---|---|---|---|---|
| BAT-001 | standard | released | REQ-009, REQ-011, REQ-014 | dcy-001 | bat-001 |
| BAT-002 | standard | released | REQ-010, REQ-012, REQ-013, REQ-015 | dcy-001 | bat-002 |
| BAT-003 | standard | released | REQ-001, REQ-002, REQ-003, REQ-006 | dcy-002 | bat-003 |
| BAT-004 | standard | released | REQ-004, REQ-005 | dcy-002 | bat-004 |
| BAT-005 | standard | released | REQ-007, REQ-008 | dcy-002 | bat-005 |
| BAT-006 | standard | released | REQ-016, REQ-017, REQ-018 | dcy-004 | bat-006 |
| BAT-007 | standard | released | REQ-022, REQ-023 | dcy-004 | bat-007 |
| BAT-008 | standard | released | REQ-019, REQ-020, REQ-021, REQ-024 | dcy-004 | bat-008 |
| BAT-009 | standard | released | REQ-025, REQ-026, REQ-027, REQ-028 | dcy-003 | bat-009 |
| BAT-010 | standard | released | REQ-030, REQ-031, REQ-032 | dcy-003 | bat-010 |
| BAT-011 | standard | released | REQ-029 | dcy-003 | bat-011 |
| BAT-012 | standard | released | REQ-002, REQ-010 | dcy-001, dcy-002, dcy-003 | bat-012 |
| BAT-013 | batch-lite | released | REQ-005 | dcy-002 | bat-013 |
| BAT-014 | batch-lite | released | REQ-025, REQ-026, REQ-027, REQ-028, REQ-032 | dcy-003 | bat-014 |
| BAT-015 | standard | released | REQ-033, REQ-034, REQ-035 | dcy-005 | bat-015 |
| BAT-016 | standard | released | REQ-036, REQ-037, REQ-038 | dcy-006 | bat-016 |
| BAT-017 | standard | released | REQ-039, REQ-040, REQ-041, REQ-042 | dcy-007 | bat-017 |
| BAT-018 | batch-lite | release-candidate | REQ-043 | dcy-008 | bat-018 |
| BAT-019 | standard | confirmed | REQ-044, REQ-045 | dcy-009 | bat-019 |
| BAT-020 | standard | release-candidate | REQ-046, REQ-047, REQ-048, REQ-049, REQ-050, REQ-051 | dcy-010 | bat-020 |
| BAT-021 | standard | in-progress | REQ-047 | dcy-010 | bat-021 |