Skip to content

stream-init.sql 기반 JPA 엔티티·Flyway 마이그레이션 구성 #13

Description

@tnals0924

어떤 기능인가요?

레거시 ERD(stream-init.sql, 24개 테이블)를 컨벤션에 맞는 Flyway 마이그레이션 + JPA Entity + 도메인 record로 옮긴다. 회원 약관 동의(member_term_agreements)·알림 설정(member_notification_settings) 테이블을 새로 추가한다.

📝 작업 상세 내용

  • infrastructure:db 설정 골격 — application-infrastructure-db.yml, .env.example, 테스트용 H2 오버라이드, BaseCreatedTimeEntity, 도메인 모듈 의존 추가
  • member 도메인 — V1__create_member_tables.sql(members, notifications, 약관 동의, 알림 설정) + record·enum + Entity
  • event 도메인 — V2__create_event_tables.sql(행사·사물함·아카이브 9개) + record·enum + Entity
  • welfare 도메인 — V3__create_welfare_tables.sql(대여·회비·공지·소통 8개) + record·enum + Entity
  • internal 도메인 — V4__create_internal_tables.sql(운영·파일 5개) + record·enum + Entity

📁 참고 자료 (선택)

  • 원본 스키마: docs/plans/stream-init.sql
  • 확정된 설계 결정
    • PK·student_id 등 컬럼명은 원본 유지, locker_applications.applied_atcreated_at으로 흡수
    • is_deleted boolean soft delete (BaseSoftDeleteEntity)
    • MySQL ENUMVARCHAR + EnumType.STRING, 배열 컬럼 → JSON
    • items.typeItemType { CONSUMABLE, RENTAL }, work_schedulesmember_id
    • 약관 동의는 약관 종류별 1행(term_version 포함), 알림 설정은 회원당 1행 4컬럼(rental/event/locker/notice_enabled)
    • 도메인 배정: files → internal, notifications → member, chat_messages·open_feedbacks → welfare

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions