fix(migrations): s1 dedup 287->317 renumber (main 287=study_memo_cards 충돌 회피)
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
## 0. 사전 조건 (게이트)
|
||||
|
||||
- [ ] **검색실험 Soft Lock 확인** — `~/.claude/.search-experiment-active` 부재여야 함.
|
||||
현재(2026-06-05) 부재 = 비활성. migration 287 은 startup 자동적용 → `docker compose up`
|
||||
현재(2026-06-05) 부재 = 비활성. migration 317 은 startup 자동적용 → `docker compose up`
|
||||
이 restart 를 유발하므로, 실험 활성 시엔 예외창 합의 후에만.
|
||||
- [ ] **불가침 면 (검색실험 유효성)**: embedding 모델 / 벡터 인덱스(ivfflat/partial) /
|
||||
retrieval config / config.yaml 의 ai·model 섹션 **미접촉**. 본 트랙 변경면은
|
||||
@@ -14,14 +14,14 @@
|
||||
|
||||
## 1. migration 번호
|
||||
|
||||
- 287(dedup 3컬럼) **단일** 클레임. P0-4=(C) 무변경이라 신규 migration 미추가.
|
||||
- S2/S3 트랙이 같은 287 을 발행하지 않도록 조율(startup 카오스 방지).
|
||||
- 317(dedup 3컬럼) **단일** 클레임. P0-4=(C) 무변경이라 신규 migration 미추가.
|
||||
- S2/S3 트랙이 같은 317 을 발행하지 않도록 조율(startup 카오스 방지).
|
||||
|
||||
## 2. restart 셋 (한 번에 배치)
|
||||
|
||||
| 서비스 | 변경 | 재시작 사유 |
|
||||
|---|---|---|
|
||||
| `fastapi` | A(287 dedup) + B(dedup API) + D(storage scaffold) | startup migration 자동적용 + 코드 |
|
||||
| `fastapi` | A(317 dedup) + B(dedup API) + D(storage scaffold) | startup migration 자동적용 + 코드 |
|
||||
| `marker_worker`(fastapi 내 스케줄러) | C(office_md 분기) + **markitdown 신규 pip dep** | rebuild 필요 |
|
||||
|
||||
> markitdown 은 신규 의존성 → `docker compose build` 필수(force-recreate 만으론 image 미갱신,
|
||||
@@ -38,11 +38,11 @@ bash scripts/s1_pre_change_backup.sh pre-a1
|
||||
# (2) 코드 가져오기 + 빌드(markitdown dep 반영) + 적용
|
||||
git fetch && git checkout feat/s1-dedup-fields # 또는 main 머지 후 main
|
||||
docker compose build fastapi # markitdown 설치 (requirements 에 추가 필요)
|
||||
docker compose up -d fastapi # startup 에서 migration 287 자동적용
|
||||
docker compose up -d fastapi # startup 에서 migration 317 자동적용
|
||||
|
||||
# (3) migration 287 적용 확인
|
||||
# (3) migration 317 적용 확인
|
||||
docker compose exec -T postgres psql -U pkm -d pkm -c \
|
||||
"SELECT version,name FROM schema_migrations WHERE version=287;"
|
||||
"SELECT version,name FROM schema_migrations WHERE version=317;"
|
||||
docker compose exec -T postgres psql -U pkm -d pkm -c \
|
||||
"\d documents" | grep -E 'original_filename|duplicate_of|duplicate_count'
|
||||
```
|
||||
@@ -83,5 +83,5 @@ curl -s -H "Authorization: Bearer $TOK" https://document.hyungi.net/api/document
|
||||
|
||||
## 6. 롤백
|
||||
|
||||
- 컬럼만 빠른 롤백: `scripts/rollback_287.sql` (수동, schema_migrations 287 행도 삭제).
|
||||
- 컬럼만 빠른 롤백: `scripts/rollback_317.sql` (수동, schema_migrations 317 행도 삭제).
|
||||
- 전체 복원: `scripts/s1_pre_change_backup.sh` 가 출력한 `.sql.gz` → psql 복원.
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
-- 287_documents_dedup_fields.sql
|
||||
-- 317_documents_dedup_fields.sql
|
||||
-- S1-ADD (plan ds-s1-backend-1, A-1): 원본 파일명 + 중복검사 메타 3컬럼.
|
||||
-- 계약: ds-app contract/CONTRACT.md [S1-ADD] — original_filename / duplicate_of / duplicate_count.
|
||||
--
|
||||
@@ -1,13 +1,13 @@
|
||||
-- rollback_287.sql — plan ds-s1-backend-1 E-3. migration 287(dedup 3컬럼) 되돌림.
|
||||
-- rollback_317.sql — plan ds-s1-backend-1 E-3. migration 317(dedup 3컬럼) 되돌림.
|
||||
--
|
||||
-- ★ migrations/ 밖에 둔다 — init_db() 자동 스캔(NNN_*.sql) 대상이 아니므로 자동 적용되지 않는다.
|
||||
-- 수동 실행 전용:
|
||||
-- docker compose cp scripts/rollback_287.sql postgres:/tmp/rollback_287.sql
|
||||
-- docker compose exec -T postgres psql -U pkm -d pkm -f /tmp/rollback_287.sql
|
||||
-- (또는) docker compose exec -T postgres psql -U pkm -d pkm < scripts/rollback_287.sql
|
||||
-- docker compose cp scripts/rollback_317.sql postgres:/tmp/rollback_317.sql
|
||||
-- docker compose exec -T postgres psql -U pkm -d pkm -f /tmp/rollback_317.sql
|
||||
-- (또는) docker compose exec -T postgres psql -U pkm -d pkm < scripts/rollback_317.sql
|
||||
--
|
||||
-- 주의: original_filename / duplicate_of / duplicate_count 데이터 영구 삭제(B-1 채움·B-4 backfill 결과 포함).
|
||||
-- schema_migrations 의 287 행도 함께 제거해야 재적용(다음 startup)이 가능하다.
|
||||
-- schema_migrations 의 317 행도 함께 제거해야 재적용(다음 startup)이 가능하다.
|
||||
-- 전체 복원이 필요하면 E-3 pre-change pg_dump 를 쓴다(이 스크립트는 '컬럼만 빠른 롤백').
|
||||
|
||||
ALTER TABLE documents
|
||||
@@ -15,4 +15,4 @@ ALTER TABLE documents
|
||||
DROP COLUMN IF EXISTS duplicate_count,
|
||||
DROP COLUMN IF EXISTS original_filename;
|
||||
|
||||
DELETE FROM schema_migrations WHERE version = 287;
|
||||
DELETE FROM schema_migrations WHERE version = 317;
|
||||
Reference in New Issue
Block a user