Files
HeuJung cbc91117d7 fix(installer): Read DB 미사용 시 Write DB만 참조하도록 수정 + GitHub 이슈 템플릿 신설
설치 시 use_read_db=false 인데도 db_read_host 잔존값으로 read 커넥션을
조립해 5단계 마이그레이션이 실패하던 문제를 수정한다. "read 사용 여부"
판정이 세 지점에서 달랐던 것이 근본 원인으로, use_read_db 플래그를 단일
SSoT 로 통일한다.

- installer-runtime.php: read 블록을 use_read_db 게이트로. 미사용 시 runtime
 에 read 키 미생성 → 하류가 write 로 자동 fallback. mergeRuntimeIntoEnv 도
 read 부재 시 DB_READ_* 를 빈 값으로 기록(write 복사 제거).
- config/database.php: read env 를 Elvis(?:) fallback 으로 복원. 중첩
 env(A, env(B)) 는 DB_READ_* 가 빈 문자열일 때 fallback 이 무력화되므로,
 빈 값까지 흡수하는 ?: 를 사용(tinker 실측 확인). 설치 이후 운영 중
 DB_READ_* 공란 시에도 SELECT 가 write DB 로 정확히 향하게 한다.
- functions.php / request-handler.php: read 미사용 시 .env DB_READ_* 빈 값
 기록 + state.json 잔존 read 필드 제거(2단계 방어).

기존 설치 환경은 .env 에 DB_READ_* 가 이미 채워져 Elvis fallback 미발동 →
동작 불변이라 업그레이드 스텝 불필요(실측 확인).

무관 사전 실패 테스트(beta.7 stale-ENV 복구)는 코어 version 이 beta.7 이
아니면 skip 하도록 가드 헬퍼 추가(프로덕션 한시 가드 전제를 테스트에 반영).

자유형식 제보에서 진단 축(버전/활성 확장/커스텀 자산/환경)이 누락되기 쉬워
G7 전용 이슈 템플릿을 추가한다. bug_report / feature_request / upgrade_issue
+ config.yml(blank 비활성, Discussions·보안신고 링크).
2026-07-06 17:15:29 +09:00

1.7 KiB

name, about, title, labels, assignees
name about title labels assignees
⬆️ 업그레이드 문제 core:update / 확장 업데이트 과정에서 발생한 문제를 제보합니다. [Upgrade] bug, upgrade

업그레이드 경로 (필수)

  • 업그레이드 전 버전:
  • 업그레이드 후(목표) 버전:
  • 실행한 명령:
  • 실행 계정/권한:

참고: core:update 는 현재 설치된(업그레이드 전) 버전의 코드로 실행됩니다. 따라서 최신 버전에서 수정된 버그라도, 그 수정 이전 버전에서 올라오는 경우에는 재발할 수 있습니다. 업그레이드 전 반드시 전체 백업을 권장합니다.

증상

확장·커스텀 자산 상태 (필수)

  • _bundled/ 아래에 직접 추가한 커스텀 확장이 있습니다.
  • public/.htaccess·public/storage 등 커스텀 파일/링크가 있습니다.
  • 업데이트 후 위 자산이 삭제/변경되었습니다.
(확장 목록 붙여넣기)

환경 정보

  • PHP 버전:
  • 웹서버·실행 방식:
  • DB:
  • OS:

로그·스크린샷