기능 설명
diagnosis-service가 월별 재무 진단 스냅샷을 저장할 수 있도록 DIAGNOSIS_RESULT 테이블을 생성한다.
이 테이블은 AI 리포트 본문을 저장하는 용도가 아니라, 사용자별 월별 재무 숫자 요약을 저장하는 용도이다.
테이블 정의
CREATE TABLE IF NOT EXISTS DIAGNOSIS_RESULT
(
diagnosis_id BIGINT AUTO_INCREMENT PRIMARY KEY,
user_id BIGINT NOT NULL COMMENT 'user-service 회원 ID 논리 참조',
year_month CHAR(7) NOT NULL COMMENT '기준연월, YYYY-MM',
total_income BIGINT NOT NULL COMMENT '잡 매칭이 완료된 월 총소득',
unmatched_income BIGINT NOT NULL COMMENT '잡 미매칭 입금 거래 합계',
total_expense BIGINT NOT NULL COMMENT '소비로 분류된 월 총소비',
net_cash_flow BIGINT NOT NULL COMMENT '총소득에서 총소비를 차감한 순현금흐름',
fixed_expense BIGINT NOT NULL COMMENT '고정지출 합계',
fixed_expense_ratio DECIMAL(9,4) NULL COMMENT '총소득 대비 고정지출 비율, 0~1',
total_financial_assets BIGINT NOT NULL COMMENT '전체 금융자산 합계',
liquid_assets BIGINT NOT NULL COMMENT '즉시 사용할 수 있는 유동자산',
safe_assets BIGINT NOT NULL COMMENT '방어기간에 사용할 수 있는 안전자산',
calculated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '최근 배치 계산 완료 시각',
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
UNIQUE KEY uk_diagnosis_result_user_month (user_id, year_month)
) ENGINE=InnoDB
DEFAULT CHARSET=utf8mb4;
## 작업 사항
- DIAGNOSIS_RESULT 테이블 생성
- (user_id, year_month) 유니크 제약조건 추가
- 월별 재무 진단 스냅샷 저장용 컬럼 구성
- 생성일시/수정일시 자동 관리
## 참고 사항
- 이 테이블은 diagnosis-service가 소유한다.
- AI 리포트 본문은 저장하지 않는다.
- user_id와 year_month 조합이 중복 저장되지 않도록 월별 스냅샷 단건 유지를 위해 유니크 제약 조건을 적용한다.
## 체크리스트
- [ ] DIAGNOSIS_RESULT 테이블 생성
- [ ] (user_id, year_month) 유니크 제약조건 적용
- [ ] RDS에 반영 확인
기능 설명
diagnosis-service가 월별 재무 진단 스냅샷을 저장할 수 있도록
DIAGNOSIS_RESULT테이블을 생성한다.이 테이블은 AI 리포트 본문을 저장하는 용도가 아니라, 사용자별 월별 재무 숫자 요약을 저장하는 용도이다.
테이블 정의