docs:데이터베이스 아키텍처 규칙 추가
- 모든 마이그레이션은 API 프로젝트에서만 관리 - MNG database/migrations 폴더에 파일 생성 금지 - 마이그레이션 실행은 sam-api-1 컨테이너에서만 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
56
CLAUDE.md
56
CLAUDE.md
@@ -56,6 +56,52 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## 데이터베이스 아키텍처 (필수 규칙)
|
||||||
|
|
||||||
|
> **경고: 이 규칙을 반드시 준수하세요!**
|
||||||
|
|
||||||
|
### 핵심 원칙
|
||||||
|
|
||||||
|
**모든 데이터베이스 관련 파일은 API 프로젝트에서만 관리합니다.**
|
||||||
|
|
||||||
|
| 항목 | API (`/home/aweso/sam/api`) | MNG (`/home/aweso/sam/mng`) |
|
||||||
|
|------|----------------------------|----------------------------|
|
||||||
|
| 마이그레이션 | ✅ 여기에 생성 | ❌ 생성 금지 |
|
||||||
|
| 시더 | ✅ 여기에 생성 | ⚠️ MNG 전용만 허용 |
|
||||||
|
| 팩토리 | ✅ 여기에 생성 | ❌ 생성 금지 |
|
||||||
|
|
||||||
|
### 금지 사항
|
||||||
|
|
||||||
|
```
|
||||||
|
❌ /home/aweso/sam/mng/database/migrations/ 에 파일 생성 금지
|
||||||
|
❌ MNG에서 테이블 생성/수정 마이그레이션 작성 금지
|
||||||
|
```
|
||||||
|
|
||||||
|
### 허용 사항
|
||||||
|
|
||||||
|
```
|
||||||
|
✅ /home/aweso/sam/api/database/migrations/ 에 모든 마이그레이션 생성
|
||||||
|
✅ MNG에서는 MngMenuSeeder 같은 MNG 전용 시더만 허용
|
||||||
|
```
|
||||||
|
|
||||||
|
### 마이그레이션 실행
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 마이그레이션은 반드시 API 컨테이너에서 실행
|
||||||
|
docker exec sam-api-1 php artisan migrate
|
||||||
|
|
||||||
|
# MNG 컨테이너에서 마이그레이션 실행 금지
|
||||||
|
# docker exec sam-mng-1 php artisan migrate ← 사용하지 않음
|
||||||
|
```
|
||||||
|
|
||||||
|
### 이유
|
||||||
|
|
||||||
|
- MNG: 프론트엔드/관리자 화면 담당 (컨트롤러, 뷰, 라우트)
|
||||||
|
- API: 백엔드/데이터베이스 담당 (마이그레이션, 모델 정의, API)
|
||||||
|
- 단일 DB를 두 프로젝트가 공유하므로 마이그레이션은 한 곳에서만 관리
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Docker 환경 (필수 인지)
|
## Docker 환경 (필수 인지)
|
||||||
|
|
||||||
> **중요: 로컬 개발 환경은 Docker 기반입니다!**
|
> **중요: 로컬 개발 환경은 Docker 기반입니다!**
|
||||||
@@ -86,8 +132,8 @@ docker exec sam-api-1 php artisan <명령어>
|
|||||||
# 예시: 시더 실행
|
# 예시: 시더 실행
|
||||||
docker exec sam-mng-1 php artisan db:seed --class=MngMenuSeeder
|
docker exec sam-mng-1 php artisan db:seed --class=MngMenuSeeder
|
||||||
|
|
||||||
# 예시: 마이그레이션 실행
|
# 예시: 마이그레이션 실행 (API에서만!)
|
||||||
docker exec sam-mng-1 php artisan migrate
|
docker exec sam-api-1 php artisan migrate
|
||||||
|
|
||||||
# 예시: 캐시 클리어
|
# 예시: 캐시 클리어
|
||||||
docker exec sam-mng-1 php artisan cache:clear
|
docker exec sam-mng-1 php artisan cache:clear
|
||||||
@@ -95,7 +141,7 @@ docker exec sam-mng-1 php artisan cache:clear
|
|||||||
|
|
||||||
### 체크리스트 (명령 실행 시)
|
### 체크리스트 (명령 실행 시)
|
||||||
|
|
||||||
- [ ] `php artisan` 명령 → `docker exec sam-mng-1 php artisan` 사용
|
- [ ] `php artisan` 명령 → `docker exec sam-mng-1 php artisan` 또는 `sam-api-1` 사용
|
||||||
- [ ] `composer` 명령 → `docker exec sam-mng-1 composer` 사용
|
- [ ] `composer` 명령 → `docker exec sam-mng-1 composer` 또는 `sam-api-1` 사용
|
||||||
- [ ] DB 시더 실행 필요 시 → Docker를 통해 실행
|
- [ ] DB 시더 실행 필요 시 → Docker를 통해 실행
|
||||||
- [ ] 마이그레이션 필요 시 → Docker를 통해 실행
|
- [ ] **마이그레이션은 반드시 API에서 실행** → `docker exec sam-api-1 php artisan migrate`
|
||||||
|
|||||||
Reference in New Issue
Block a user