메일 인증 대신 휴대폰 본인확인을 쓸 수 있게 하는 플러그인을 추가한다. 가입·비밀번호 재설정·성인인증 등 코어 IDV 가 강제하는 모든 지점에서 동작하며, 테스트 모드로 계약 없이 전 흐름을 확인할 수 있다. 구현·검수 과정에서 드러난 저장소 전역 결함을 함께 처리했다. - 외래키 컬럼의 한국어 comment 가 방출되지 않던 문제 (소스 38건 교정 + 기설치본 백필 업그레이드 스텝 7종). ->comment 를 ->constrained 뒤에 체인하면 예외 없이 통과하면서 comment 가 조용히 사라진다 - 로케일 전환 후 확장 액션 핸들러가 소실되던 문제 (플러그인 3종에 재등록 진입점 노출) - 본인인증 상태 폴링 응답이 누적 시도 횟수를 함께 내보내던 문제 - 인증 안내 문구와 실제 진행 방식의 폭 경계 불일치 (768~1023px). 엔진과 같은 값을 같은 방법으로 읽도록 교정 - transition_overlay_target 이 replace 없이 무효이던 관리자 목록 40곳. 로딩 표시가 나오지 않아도 경고가 남지 않아 화면을 봐야만 알 수 있었다 두 인증 플러그인의 코어 최소 요구 버전을 7.0.6 으로 올린다. 운영 모드 자격증명 필수 검사가 7.0.6 의 설정 저장 검증 표면에 의존하며, 그보다 낮은 코어에서는 그 검사가 조용히 통과해 빈 자격증명으로 저장할 수 있었다. 재발 차단으로 정적 검사 룰 4종을 신설하고, 검사 도구가 미커밋 신규 확장을 "검사 파일 0" 으로 통과시키던 사각을 함께 막았다.
38 lines
1.7 KiB
PHP
38 lines
1.7 KiB
PHP
<?php
|
|
|
|
namespace App\Upgrades;
|
|
|
|
use App\Extension\AbstractUpgradeStep;
|
|
|
|
/**
|
|
* 코어 7.0.6 업그레이드 스텝
|
|
*
|
|
* 모든 비즈니스 로직은 본 클래스 파일이 아닌 `upgrades/data/7.0.6/` 안에 격리된다:
|
|
*
|
|
* - migrations/
|
|
* 01_NullifyUntouchedSeoCacheOverrides.php
|
|
* SEO 캐시 설정을 "미설정(null) = 고급 탭 값 사용" 의미로 이행 (결정 D19).
|
|
* 옛 기본값 그대로인 키는 null 로 비우고, 다른 값이면 오버라이드로 보존한다.
|
|
* 02_ClearSeoPageCacheAfterRendererParityFix.php
|
|
* 봇용 페이지 캐시를 1회 전량 무효화한다. 7.0.6 이전 렌더러가 빈 본문으로
|
|
* 저장한 결과물이 캐시 수명 동안 계속 서빙되는 것을 막는다.
|
|
* 03_BackfillForeignKeyColumnComments.php
|
|
* 외래키 컬럼의 비어 있는 한국어 comment 를 채운다. `->comment()` 가
|
|
* `->constrained()` 뒤에 체인되어 컬럼이 아닌 FK 정의에 부착되던 문제를
|
|
* 소스에서 교정했으나, 기설치본은 마이그레이션이 재실행되지 않아 남는다.
|
|
*
|
|
* 본 클래스는 `AbstractUpgradeStep` 의 default `run()` 에 위임 — 별도 override 없음.
|
|
*
|
|
* @upgrade-path 7.0.x → 7.0.6
|
|
*
|
|
* 의존성 제약: 본 스텝은 변환/핫픽스를 `data/7.0.6/migrations/` 의 버전 namespace
|
|
* 클래스에 위임한다. 미래 버전에서 *그 디렉토리는 동결* (수정 금지) 되어 "각 스텝별 동작
|
|
* 100% 동일 보장" invariant 가 성립.
|
|
*
|
|
* 상세: docs/extension/upgrade-step-guide.md §13 "버전별 데이터 스냅샷"
|
|
*/
|
|
class Upgrade_7_0_6 extends AbstractUpgradeStep
|
|
{
|
|
// 모든 로직 위임 — data/7.0.6/ 가 SSoT.
|
|
}
|