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·보안신고 링크).
This commit is contained in:
1 parent
94d2cd2c11
commit
cbc91117d7
14 files changed
+417
-78
No files matched your search
@@ -0,0 +1,71 @@
|
||||
---
|
||||
name: 🐛 버그 제보
|
||||
about: 그누보드7(G7) 사용 중 발견한 버그를 제보합니다.
|
||||
title: "[Bug] "
|
||||
labels: bug
|
||||
assignees: ''
|
||||
---
|
||||
|
||||
## 증상 요약
|
||||
|
||||
<!-- 어떤 문제가 발생했는지 한두 문장으로 적어 주세요. -->
|
||||
|
||||
## 재현 절차
|
||||
|
||||
1.
|
||||
2.
|
||||
3.
|
||||
|
||||
## 기대한 동작
|
||||
|
||||
<!-- 원래 어떻게 동작해야 하는지 적어 주세요. -->
|
||||
|
||||
## 실제 동작
|
||||
|
||||
<!-- 실제로 어떻게 동작했는지 적어 주세요. 오류 메시지가 있다면 그대로 붙여 주세요. -->
|
||||
|
||||
## 환경 정보 (필수)
|
||||
|
||||
> 아래 정보가 없으면 원인 파악이 어렵습니다. 가능한 한 모두 채워 주세요.
|
||||
|
||||
- **코어 버전**: <!-- 예: 7.0.2 / config/app.php 의 APP_VERSION 또는 관리자 > 정보 화면 -->
|
||||
- **업그레이드 이슈인 경우 — 업그레이드 전 버전 → 후 버전**: <!-- 예: 7.0.0-beta.7 → 7.0.2 -->
|
||||
- **PHP 버전**: <!-- 예: 8.2.x / php -v -->
|
||||
- **웹서버·실행 방식**: <!-- 예: Apache + mod_php / Nginx + PHP-FPM / 공유호스팅 -->
|
||||
- **DB**: <!-- 예: MySQL 8.0 / MariaDB 10.x -->
|
||||
- **OS**: <!-- 예: Ubuntu 24.04 / Windows 11 -->
|
||||
|
||||
## 활성 확장 목록 (해당 시)
|
||||
|
||||
<!--
|
||||
확장(모듈/플러그인/템플릿) 관련 문제이거나 업그레이드 문제라면 아래 명령 결과를 붙여 주세요.
|
||||
php artisan module:list
|
||||
php artisan plugin:list
|
||||
php artisan template:list
|
||||
-->
|
||||
|
||||
```text
|
||||
(여기에 붙여넣기)
|
||||
```
|
||||
|
||||
## 커스텀 자산 여부 (해당 시)
|
||||
|
||||
> 업그레이드·파일 삭제·권한 문제라면 반드시 확인해 주세요.
|
||||
|
||||
- [ ] `modules/_bundled/`·`plugins/_bundled/`·`templates/_bundled/` 아래에 직접 추가한 커스텀 확장이 있습니다.
|
||||
- [ ] `public/.htaccess` 에 직접 추가한 규칙이 있습니다.
|
||||
- [ ] 그 외 코어 배포본에 없는 커스텀 파일을 직접 추가/수정했습니다.
|
||||
|
||||
<!-- 위 항목에 해당하면 어떤 경로에 무엇을 추가했는지 적어 주세요. -->
|
||||
|
||||
## 스크린샷·로그
|
||||
|
||||
<!--
|
||||
- 브라우저 콘솔 에러 (F12 > Console)
|
||||
- storage/logs/ 관련 로그
|
||||
- 화면 스크린샷
|
||||
-->
|
||||
|
||||
## 추가 정보
|
||||
|
||||
<!-- 원인 추정, 임시 우회 방법 등 참고될 내용이 있으면 적어 주세요. -->
|
||||
@@ -0,0 +1,8 @@
|
||||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: 질문·사용법 문의 (Discussions)
|
||||
url: https://github.com/gnuboard/g7/discussions
|
||||
about: 버그가 아닌 사용법 질문·아이디어 논의는 Discussions 를 이용해 주세요.
|
||||
- name: 보안 취약점 신고
|
||||
url: https://github.com/gnuboard/g7/security/advisories/new
|
||||
about: 보안 취약점은 공개 이슈가 아닌 비공개 Security Advisory 로 신고해 주세요.
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
name: ✨ 기능 제안
|
||||
about: 새로운 기능이나 개선 아이디어를 제안합니다.
|
||||
title: "[Feature] "
|
||||
labels: enhancement
|
||||
assignees: ''
|
||||
---
|
||||
|
||||
## 해결하려는 문제
|
||||
|
||||
<!-- 어떤 불편이나 한계 때문에 이 기능이 필요한지 적어 주세요. -->
|
||||
|
||||
## 제안하는 기능
|
||||
|
||||
<!-- 원하는 동작을 구체적으로 적어 주세요. -->
|
||||
|
||||
## 적용 범위 (해당 시)
|
||||
|
||||
- [ ] 코어
|
||||
- [ ] 모듈 <!-- 어떤 모듈인지: -->
|
||||
- [ ] 플러그인 <!-- 어떤 플러그인인지: -->
|
||||
- [ ] 템플릿 <!-- 어떤 템플릿인지: -->
|
||||
|
||||
## 대안·참고 사항
|
||||
|
||||
<!-- 고려한 다른 방법, 타 CMS 사례, 참고 링크 등이 있으면 적어 주세요. -->
|
||||
@@ -0,0 +1,51 @@
|
||||
---
|
||||
name: ⬆️ 업그레이드 문제
|
||||
about: core:update / 확장 업데이트 과정에서 발생한 문제를 제보합니다.
|
||||
title: "[Upgrade] "
|
||||
labels: "bug, upgrade"
|
||||
assignees: ''
|
||||
---
|
||||
|
||||
## 업그레이드 경로 (필수)
|
||||
|
||||
- **업그레이드 전 버전**: <!-- 예: 7.0.0-beta.7 -->
|
||||
- **업그레이드 후(목표) 버전**: <!-- 예: 7.0.2 -->
|
||||
- **실행한 명령**: <!-- 예: php artisan core:update --source=/tmp/g7-7.0.2 -->
|
||||
- **실행 계정/권한**: <!-- 예: www-data / sudo(root) / 일반 사용자 -->
|
||||
|
||||
> 참고: `core:update` 는 **현재 설치된(업그레이드 전) 버전의 코드**로 실행됩니다.
|
||||
> 따라서 최신 버전에서 수정된 버그라도, 그 수정 이전 버전에서 올라오는 경우에는 재발할 수 있습니다.
|
||||
> 업그레이드 전 반드시 전체 백업을 권장합니다.
|
||||
|
||||
## 증상
|
||||
|
||||
<!-- 업데이트 중/후 어떤 문제가 발생했는지 적어 주세요. 오류 메시지는 그대로 붙여 주세요. -->
|
||||
|
||||
## 확장·커스텀 자산 상태 (필수)
|
||||
|
||||
- [ ] `_bundled/` 아래에 직접 추가한 커스텀 확장이 있습니다. <!-- 경로: -->
|
||||
- [ ] `public/.htaccess`·`public/storage` 등 커스텀 파일/링크가 있습니다.
|
||||
- [ ] 업데이트 후 위 자산이 삭제/변경되었습니다.
|
||||
|
||||
<!-- 업데이트 전후 확장 목록을 붙여 주시면 도움이 됩니다:
|
||||
php artisan module:list / plugin:list / template:list
|
||||
-->
|
||||
|
||||
```text
|
||||
(확장 목록 붙여넣기)
|
||||
```
|
||||
|
||||
## 환경 정보
|
||||
|
||||
- **PHP 버전**:
|
||||
- **웹서버·실행 방식**: <!-- Apache+mod_php / Nginx+PHP-FPM / 공유호스팅 등 -->
|
||||
- **DB**:
|
||||
- **OS**:
|
||||
|
||||
## 로그·스크린샷
|
||||
|
||||
<!--
|
||||
- 콘솔 전체 출력 (업데이트 실행 로그)
|
||||
- storage/logs/ 의 관련 로그
|
||||
- 브라우저 콘솔 에러
|
||||
-->
|
||||
Reference in new issue
Block a user