- BudgetOnetime 도메인/DTO/Mapper/Service 신규 - BudgetController: GET/POST/PUT/DELETE /api/account/budgets/onetime 엔드포인트 추가 - account.sql: budget_onetime 테이블 CREATE TABLE IF NOT EXISTS 추가 - WalletRequest: MINUS 유형 허용 추가 - CategoryService: importDefaults, validateParent, ensureCategory 추가 ※ 최초 배포 시 서버 .env에 SQL_INIT_MODE=always 추가 후 재시작 필요 (budget_onetime 테이블 생성) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -197,6 +197,21 @@ CREATE TABLE IF NOT EXISTS budget_income (
|
||||
PRIMARY KEY (member_id, `year`, `month`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- 1회성 예산 (기간·제목별 단발 예산)
|
||||
CREATE TABLE IF NOT EXISTS budget_onetime (
|
||||
id BIGINT NOT NULL AUTO_INCREMENT,
|
||||
member_id BIGINT NOT NULL COMMENT '소유자 member.id',
|
||||
title VARCHAR(100) NOT NULL COMMENT '제목 (예: 7월 여행)',
|
||||
category VARCHAR(50) NULL COMMENT '카테고리 (NULL=전체 지출)',
|
||||
amount BIGINT NOT NULL COMMENT '총 예산',
|
||||
start_date DATE NOT NULL COMMENT '기간 시작일',
|
||||
end_date DATE NOT NULL COMMENT '기간 종료일',
|
||||
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (id),
|
||||
KEY idx_bot_member_date (member_id, start_date, end_date)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- 투자 보유 종목 (INVEST 지갑별 · 사용자별)
|
||||
CREATE TABLE IF NOT EXISTS invest_holding (
|
||||
id BIGINT NOT NULL AUTO_INCREMENT,
|
||||
|
||||
Reference in New Issue
Block a user