public 스키마
목적
public 스키마는 Lumie의 주 런타임 스키마입니다. 여기에는 플랫폼 범위
테이블과 테넌트 범위 테이블이 모두 포함됩니다. 테넌트 격리는 별도 스키마로
모델링하지 않으며, tenant_id 컬럼, 백엔드 테넌트 컨텍스트, PostgreSQL RLS
policy로 강제합니다.
이 페이지는 persistence를 변경하거나 어떤 테이블이 플랫폼 범위인지 테넌트 범위인지 검토하는 백엔드 개발자를 위한 레퍼런스 문서입니다.
소스 경로
| 경로 | 역할 |
|---|---|
V1__create_platform_tables.sql | tenants와 tenant_settings를 생성합니다 |
V13__create_event_publication.sql | Spring Modulith event publication 저장소입니다 |
V14__create_shedlock.sql | 스케줄 작업 lock 테이블입니다 |
V16__create_idempotency_keys.sql | 요청 idempotency 테이블입니다 |
V18__rls_baseline.sql | RLS와 함께 public에 테넌트 범위 도메인 테이블을 다시 만듭니다 |
V70__create_exam_question_types.sql | 테넌트 범위 시험 문항 유형 설정을 추가합니다 |
V81__assignment_redesign_expand.sql | assignment 워크플로 플래그, assignment_targets, 시험 연계 submission 필드를 추가합니다 |
V82__assignment_redesign_tenant_safe_indexes.sql | 시험 연계 assignment 데이터용 복합 인덱스와 테넌트-safe foreign key를 추가합니다 |
V83__drop_assignment_title_description.sql | 레거시 assignment title 및 description 컬럼을 제거합니다 |
V84__drop_assignment_type_and_draft.sql | assignment type과 draft 상태를 제거합니다 |
V85__assignment_exam_only_active_guard.sql | active assignment를 linked-exam 수동 답안 과제로 제한합니다 |
V86__assignment_exam_fk_restrict.sql | assignment가 참조하는 exam 삭제를 제한합니다 |
V89__require_assignment_due_date.sql | 레거시 null assignment 마감일을 백필하고 assignments.due_date를 필수화합니다 |
V90__assignment_overdue_close_index.sql | 마감이 지난 active 과제 종료 쿼리를 위한 partial index를 추가합니다 |
V27__langgraph_schema.sql | 별도 langgraph 스키마와 role을 생성합니다 |
lumie-backend/libs/common/src/main/java/com/lumie/common/tenant/ | 런타임 테넌트 컨텍스트 헬퍼입니다 |
범위 결정
| 테이블 유형 | public에 속함 | RLS 필요 |
|---|