feat: 가계부·게시판 백엔드 API 구현
- com.sb.web 패키지로 재구성: account / auth / board / user / admin / common - 가계부(account): 내역(필터), 계좌·순자산, 예산, 분류, 정기 거래, 투자 포트폴리오 (종목·매매 이력, 이동평균 평단·실현/평가손익) - MyBatis + MariaDB + Redis 세션, BCrypt - 스키마 자동 초기화(db/*.sql, 멱등), 사용자별 데이터 격리(member_id) - 문서: docs/BACKEND.md, .env.example Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
-- ============================================================
|
||||
-- 회원(member) 테이블 (MariaDB)
|
||||
-- 로컬(아이디/비밀번호) + 소셜(네이버 등) 로그인 확장을 고려한 설계
|
||||
-- 실행: 애플리케이션 기동 시 연결된 DB(sbdb)에 자동 생성됨
|
||||
-- ============================================================
|
||||
CREATE TABLE IF NOT EXISTS member (
|
||||
id BIGINT NOT NULL AUTO_INCREMENT,
|
||||
login_id VARCHAR(50) NULL COMMENT '로컬 로그인 아이디 (소셜 전용 계정은 NULL)',
|
||||
password VARCHAR(100) NULL COMMENT 'BCrypt 해시 (소셜 전용 계정은 NULL)',
|
||||
name VARCHAR(100) NOT NULL COMMENT '이름/닉네임',
|
||||
email VARCHAR(255) NULL,
|
||||
provider VARCHAR(20) NOT NULL DEFAULT 'LOCAL' COMMENT 'LOCAL / NAVER',
|
||||
provider_id VARCHAR(100) NULL COMMENT '소셜 제공자 측 고유 사용자 ID',
|
||||
role VARCHAR(20) NOT NULL DEFAULT 'USER' COMMENT 'USER / ADMIN',
|
||||
status VARCHAR(20) NOT NULL DEFAULT 'ACTIVE' COMMENT 'ACTIVE / SUSPENDED / WITHDRAWN',
|
||||
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (id),
|
||||
UNIQUE KEY uk_member_login_id (login_id),
|
||||
UNIQUE KEY uk_member_provider (provider, provider_id)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
Reference in New Issue
Block a user