# 마이그레이션 파일 관리

## 개요
Zellyy Finance 프로젝트의 데이터베이스 마이그레이션 파일은 Gitea 저장소에서 단일 소스로 관리됩니다. 이 문서는 마이그레이션 파일의 관리 방법과 위치에 대한 정보를 제공합니다.

## 마이그레이션 파일 위치
- **소스 코드 저장소**: `/Users/hansoo./Dev/Zellyy_Finance/backend/migrations/`
- **Git 저장소 URL**: [Zellyy_Finance Git Repository](https://gitea.com/hansoo/Zellyy_Finance)
- **옵시디언 참조 디렉토리**: `/1. Project/ZELLYY/적자 탈출 가계부/02_기술_문서/migrations/`
  (참고: 이 디렉토리는 실제 SQL 파일을 포함하지 않으며, 참조용 디렉토리입니다.)

## 코드 관리 원칙
- **단일 소스 원칙**: 모든 코드는 Gitea에서만 관리합니다.
- **옵시디언 문서화 원칙**: 옵시디언에는 문서만 저장하고 코드는 저장하지 않습니다.
- **참조 링크 사용**: 옵시디언에서는 Gitea의 코드를 참조하는 링크를 사용합니다.

> 참고: 코드 관련 기술 문서도 Gitea에서만 관리합니다. 자세한 내용은 [기술문서_관리](/1.%20Project/ZELLYY/적자%20탈출%20가계부/02_기술_문서/기술문서_관리.md) 문서를 참조하세요.

## 마이그레이션 파일 목록
마이그레이션 파일은 다음과 같은 순서로 실행됩니다:

1. `01_users.sql`: 사용자 테이블 및 인증 관련 기능
2. `02_categories.sql`: 카테고리 테이블 및 계층 구조
3. `03_expenses.sql`: 지출/수입 내역 테이블
4. `04_budgets.sql`: 예산 관리 테이블
5. `05_cards.sql`: 카드 정보 관리 테이블
6. `06_limits.sql`: 지출 한도 관리 테이블
7. `07_templates.sql`: 자주 사용하는 지출/수입 템플릿
8. `08_notifications.sql`: 알림 시스템 테이블
9. `09_analysis_settings.sql`: 사용자별 분석 설정 테이블

## 마이그레이션 실행 방법
마이그레이션은 `run_migrations.sh` 스크립트를 통해 실행됩니다:
```bash
cd /Users/hansoo./Dev/Zellyy_Finance/backend
./run_migrations.sh
```

## 변경 관리
마이그레이션 파일을 변경해야 할 경우, 다음 절차를 따릅니다:

1. Gitea 저장소의 파일만 수정합니다.
2. 변경 사항을 커밋하고 푸시합니다.
3. 이 문서에 중요한 변경 사항을 기록합니다.

## 주의사항
- 옵시디언에는 코드를 저장하지 않는 원칙에 따라, 원래 있던 SQL 파일들은 삭제되었습니다.
- 코드는 Gitea 저장소에서만 관리되므로, 코드 작업 시에는 항상 Gitea 저장소를 참조하세요.
- 옵시디언의 한글 디렉토리명으로 인해 일부 명령어에서 경로 문제가 발생할 수 있습니다. 스크립트나 명령어에서 경로를 사용할 때는 Gitea의 영문 경로를 사용하세요.

## 디렉토리 구조 관련 참고사항
- **옵시디언 디렉토리 구조**:
  - `/1. Project/ZELLYY/적자 탈출 가계부/02_기술_문서/migrations/`: 참조용 빈 디렉토리
  - `/1. Project/ZELLYY/적자 탈출 가계부/02_기술_문서/마이그레이션_관리.md`: 이 문서

- **Gitea 디렉토리 구조**:
  - `/Users/hansoo./Dev/Zellyy_Finance/backend/migrations/`: 실제 SQL 파일 포함
  - `/Users/hansoo./Dev/Zellyy_Finance/backend/run_migrations.sh`: 마이그레이션 실행 스크립트

한글 디렉토리명을 사용하는 옵시디언 경로는 일부 도구나 명령어에서 문제가 발생할 수 있으므로, 코드 작업 시에는 항상 Gitea의 영문 경로를 사용하는 것이 좋습니다.

## 최근 업데이트
- 2025-02-27: 옵시디언과 Gitea의 마이그레이션 파일을 통합하여 Gitea를 단일 소스로 지정
- 2025-02-27: 디렉토리 구조 관련 주의사항 추가
- 2025-02-27: 옵시디언의 SQL 파일 삭제 및 백업 정보 추가
- 2025-02-27: 문서 통합 (migrations/README.md 삭제 및 내용 통합)
- 2025-02-27: migrations_backup 디렉토리 삭제
- 2025-02-27: 옵시디언의 run_migrations.sh 파일 삭제 (Gitea에서만 관리)
