Files
sam-docs/system/database/commons.md
권혁성 d4e5f62413 docs: [종합정비] Phase 1 시스템 현황 문서 14개 작성
- system/overview.md: 전체 아키텍처 개요
- system/api-structure.md: API 구조 (220 모델, 1027 엔드포인트, 18 라우트 도메인)
- system/react-structure.md: React 구조 (249 페이지, 612 컴포넌트)
- system/mng-structure.md: MNG 구조 (171 컨트롤러, 436 Blade 뷰)
- system/docker-setup.md: Docker 7 컨테이너 구성
- system/database/README.md + 9개 도메인 스키마 (270+ 테이블)
  - core, hr, sales, production, finance, boards, files, system, erp-analysis

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 18:03:13 +09:00

2.5 KiB

공통 / 게시판 / 감사 도메인

모델 수: Commons 10 + Boards 5 + Audit 2 = 17 핵심: 범용 분류, 파일 관리, 게시판 시스템, 감사 로그


주요 테이블

공통 (Commons)

테이블 모델 역할
categories Category 범용 계층 분류 (parent_id, self-reference)
category_fields CategoryField 카테고리 동적 필드 (EAV)
category_templates CategoryTemplate 카테고리 필드 스냅샷 (버전)
category_logs CategoryLog 카테고리 변경 로그
classifications Classification 분류 체계
files File 파일 첨부 (다형: morphMany)
menus Menu 메뉴 체계
tags Tag 태그 시스템
holidays Holiday 공휴일
common_codes CommonCode 공통 코드

게시판 (Boards)

테이블 모델 역할
boards Board 게시판 정의
posts Post 게시글
board_settings BoardSetting 게시판 동적 필드 정의
post_custom_field_values PostCustomFieldValue 게시글 커스텀 필드 값 (EAV)
board_comments BoardComment 댓글

감사 (Audit)

테이블 모델 역할
audit_logs AuditLog 변경 감사 로그 (불변)
trigger_audit_logs TriggerAuditLog DB 트리거 감사 로그

관계 구조

Category (계층 분류)
  ├─ belongsTo Category (parent_id → self)
  ├─ hasMany Category (children)
  ├─ hasMany CategoryField (EAV 동적 필드)
  ├─ hasMany CategoryTemplate (필드 버전 스냅샷)
  ├─ hasMany Product
  └─ belongsToMany File via tags

Board (게시판)
  ├─ hasMany Post
  │   ├─ hasMany PostCustomFieldValue (EAV)
  │   └─ hasMany BoardComment
  └─ hasMany BoardSetting (동적 필드 정의)

File (범용 첨부)
  └─ morphTo fileable (어떤 모델에든 첨부 가능)

EAV 패턴

게시판과 카테고리 모두 EAV(Entity-Attribute-Value) 패턴 사용:

Board → BoardSetting (필드 정의: field_name, field_type)
Post → PostCustomFieldValue (필드 값: board_setting_id, value)

Category → CategoryField (필드 정의: field_name, field_type)

특이사항

  • File은 다형(morphMany) 관계 — 모든 모델에서 파일 첨부 가능
  • AuditLog는 불변 (timestamps 없음, SoftDeletes 없음)
  • 감사 로그 보존 정책: 13개월
  • 게시판 시스템: EAV 패턴으로 동적 필드 지원 (노션 스타일 전환 계획 중)