Files
Todo-Project/backend/migrations/003_optimize_for_workflow.sql
Hyungi Ahn 0b967a84fa 🚀 시놀로지 배포 준비 완료
 주요 변경사항:
- 단일 docker-compose.yml로 통합 (로컬/시놀로지 환경 지원)
- 시놀로지 볼륨 매핑 설정 (volume1: 이미지, volume3: 데이터)
- 통합 배포 가이드 및 자동 배포 스크립트 추가
- 완전한 Memos 스타일 워크플로우 구현

🎯 새로운 기능:
- 📝 메모 작성 (upload.html) - 이미지 업로드 지원
- 📥 수신함 (inbox.html) - 메모 편집 및 Todo/보드 변환
-  Todo 목록 (todo-list.html) - 오늘 할 일 관리
- 📋 보드 (board.html) - 프로젝트 관리, 접기/펼치기, 이미지 지원
- 📚 아카이브 (archive.html) - 완료된 보드 보관
- 🔐 초기 설정 화면 - 관리자 계정 생성

🔧 기술적 개선:
- 이미지 업로드/편집 완전 지원
- 반응형 디자인 및 모바일 최적화
- 보드 완료 후 자동 숨김 처리
- 메모 편집 시 제목 필드 제거
- 테스트 로그인 버튼 제거 (프로덕션 준비)
- 과거 코드 정리 (TodoService, CalendarSyncService 등)

📦 배포 관련:
- env.synology.example - 시놀로지 환경 설정 템플릿
- SYNOLOGY_DEPLOYMENT_GUIDE.md - 상세한 배포 가이드
- deploy-synology.sh - 원클릭 자동 배포 스크립트
- Nginx 정적 파일 서빙 및 이미지 프록시 설정

🗑️ 정리된 파일:
- 사용하지 않는 HTML 페이지들 (dashboard, calendar, checklist 등)
- 복잡한 통합 서비스들 (integrations 폴더)
- 중복된 시놀로지 설정 파일들
2025-09-24 09:12:39 +09:00

39 lines
1.6 KiB
SQL

-- 새로운 워크플로우에 맞게 DB 구조 최적화
-- 1. due_date를 start_date로 변경
ALTER TABLE todos RENAME COLUMN due_date TO start_date;
-- 2. tags 컬럼 제거 (사용하지 않음)
ALTER TABLE todos DROP COLUMN IF EXISTS tags;
-- 3. category 기본값 변경 및 기존 데이터 정리
-- 기존 'checklist' 카테고리를 'memo'로 변경
UPDATE todos SET category = 'memo' WHERE category = 'checklist';
-- 기존 'calendar' 카테고리를 'todo'로 변경
UPDATE todos SET category = 'todo' WHERE category = 'calendar';
-- 4. title을 nullable로 변경 (메모의 경우 선택사항)
ALTER TABLE todos ALTER COLUMN title DROP NOT NULL;
-- 5. description을 NOT NULL로 변경 (내용은 필수)
UPDATE todos SET description = COALESCE(title, '내용 없음') WHERE description IS NULL OR description = '';
ALTER TABLE todos ALTER COLUMN description SET NOT NULL;
-- 6. category 기본값을 'memo'로 설정
ALTER TABLE todos ALTER COLUMN category SET DEFAULT 'memo';
-- 7. 불필요한 인덱스 정리 및 새로운 인덱스 추가
-- 기존 due_date 인덱스 제거 (컬럼명이 변경됨)
DROP INDEX IF EXISTS idx_todos_due_date;
-- 새로운 인덱스 생성
CREATE INDEX IF NOT EXISTS idx_todos_start_date ON todos(start_date);
CREATE INDEX IF NOT EXISTS idx_todos_category_status ON todos(category, status);
CREATE INDEX IF NOT EXISTS idx_todos_user_category ON todos(user_id, category);
-- 8. 성능 최적화를 위한 복합 인덱스
CREATE INDEX IF NOT EXISTS idx_todos_workflow ON todos(user_id, category, status, start_date);
COMMIT;