Laravel 12에서 Spatie 역할 및 권한 업그레이드 가이드
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
- Laravel 10에서 12로 업그레이드를 진행하는 개발자
- Spatie의 역할 및 권한 패키지 사용자
- 중급 이상의 PHP 프레임워크 경험자
핵심 요약
kernel.php
파일에서Middleware
클래스를Spatie\Permission\Middleware\*
로 변경create_permission_tables.php
마이그레이션 파일을 삭제 후php artisan vendor:publish
명령으로 재설치- Laravel 10 → 12 업그레이드 시 Spatie 패키지의 버전 호환성 확인 필수
섹션별 세부 요약
1. Middleware 클래스 변경
kernel.php
파일에서 아래 중간웨어 설정 수정:RoleMiddleware
,PermissionMiddleware
,RoleOrPermissionMiddleware
클래스 경로 변경- 예:
\Spatie\Permission\Middlewares\RoleMiddleware::class
→\Spatie\Permission\Middleware\RoleMiddleware::class
- 변경 사항은 Laravel 12의
Spatie\Permission
패키지 버전 5.0 이상에서 요구됨
2. 마이그레이션 파일 재설치
database/migrations/
폴더 내create_permission_tables.php
파일 삭제- 다음 명령어로 패키지 설정 재설치:
php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider"
- 이 과정은 새로운 마이그레이션 파일과 기본 설정을 재생성하여 데이터베이스 구조를 업데이트
결론
- Laravel 12 업그레이드 시 Spatie 패키지의 중간웨어 패키지 경로 변경과 마이그레이션 재설치를 반드시 수행해야 함
php artisan vendor:publish
명령어는 패키지 설정이 올바르게 적용되었는지 확인하는 핵심 단계