fix(migrations): 143 asyncpg multi-statement 분리 #3

Merged
hyungi merged 1 commits from fix/migration-143-split into main 2026-04-23 15:46:35 +09:00
Owner

긴급 복구 — fastapi 부팅 실패 해소.

asyncpg prepared statement single-command 제약에 §1 의 multi-statement migration 143 이 걸려 컨테이너 restart 루프. 143 을 4 개 파일로 분리 (TYPE / ALTER / INDEX / partial INDEX).

DB 는 batch 자체가 reject 되어 깨끗한 상태 — 재실행 안전.

Merge 후 GPU 서버 pull + rebuild 로 서비스 복구.

긴급 복구 — fastapi 부팅 실패 해소. asyncpg prepared statement single-command 제약에 §1 의 multi-statement migration 143 이 걸려 컨테이너 restart 루프. 143 을 4 개 파일로 분리 (TYPE / ALTER / INDEX / partial INDEX). DB 는 batch 자체가 reject 되어 깨끗한 상태 — 재실행 안전. Merge 후 GPU 서버 pull + rebuild 로 서비스 복구.
hyungi added 1 commit 2026-04-23 15:46:12 +09:00
asyncpg prepared statement 는 single-command 만 지원 (core/database.py
exec_driver_sql 경로). §1 의 143_category.sql 이 4 statement (TYPE +
ALTER + INDEX×2) 였어서 fastapi 부팅 시 asyncpg.PostgresSyntaxError
"cannot insert multiple commands into a prepared statement" 로 실패
→ 컨테이너 restart 루프.

143 을 4 개 파일로 분리:
  143: CREATE TYPE doc_category
  144: ALTER TABLE documents ADD category / ai_suggestion
  145: CREATE INDEX idx_documents_category
  146: CREATE INDEX idx_documents_has_suggestion (partial)

DB 상태는 깨끗 (migration 143 이 부분 적용 안 됨 — asyncpg 가 batch
자체를 reject). schema_migrations 에 143 도 미기록이라 재실행 안전.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
hyungi merged commit aceb54e586 into main 2026-04-23 15:46:35 +09:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: hyungi/hyungi_document_server#3