Skip to content

feat(db): PostgreSQL 스키마 및 RLS 정책 구현#32

Merged
hywznn merged 1 commit into
mainfrom
feat/postgresql-schema
Jul 22, 2026
Merged

feat(db): PostgreSQL 스키마 및 RLS 정책 구현#32
hywznn merged 1 commit into
mainfrom
feat/postgresql-schema

Conversation

@krestar

@krestar krestar commented Jul 22, 2026

Copy link
Copy Markdown
Contributor
  • Flyway V2에서 6개 업무 테이블과 제약조건 및 인덱스 추가
  • 회사 컨텍스트 기반 PostgreSQL RLS 정책 적용
  • 암호화 필드, JSON 배열 및 날짜 무결성 제약조건 정의
  • Flyway migration과 스키마 구조, 제약조건, 인덱스 및 회사별 RLS 격리를 검증(~Tests.java)
  • H2 local/test 환경은 V1까지만 실행하도록 Flyway 설정 분리(resources/application.yaml)

왜 필요한가요?

  • 테이블, 인덱스 추가, 회사 별 데이터 격리를 위한 RLS 적용

무엇이 바뀌나요?

  • company, user_account, worker, task, ticket, document 테이블을 추가
  • PK, FK, UNIQUE, CHECK 및 조회 인덱스를 적용
  • UUID PK는 DB가 아닌 백엔드에서 생성

어떻게 검증했나요?

  • ./gradlew clean test
  • ./gradlew build
  • /health와 Swagger UI 확인
  • 정상 입력 — 동일 회사 데이터 생성·조회·수정 확인
  • 잘못된 입력
  • 권한 부족
  • 다른 사업장 접근 차단
  • 필요한 상태 전이·Idempotency
  • migrationsCreateAndProtectThePostgreSqlSchema() 테스트 통과

보안·개인정보

  • DTO·로그·AI 입력에 불필요한 개인정보가 없습니다.
  • JWT, Worker Link 원본 토큰, API Key, 비밀번호가 없습니다.
  • 모든 사업장 데이터 접근에 company_id 범위를 검사합니다.
  • AI 결과가 자동 승인·발송되지 않습니다.
  • 중요한 변경이 AuditLog와 request_id로 추적됩니다.
  • 관련 Accepted ADR을 지켰거나 필요한 새 ADR을 이 PR에서 Proposed로 작성했습니다.
  • Server에 Prompt Builder·Provider SDK·모델 routing을 추가하지 않았습니다.

API·DB·운영 영향

  • Swagger/OpenAPI와 Notion 계약을 갱신했습니다.
  • Client에 알려야 할 호환성 변경을 적었습니다.
  • DB 변경에 Flyway migration이 있습니다.
  • 환경변수는 이름만 .env.example에 적었습니다.
  • 배포 후 Smoke Test와 롤백 방법을 적었습니다.

화면 또는 응답 예시

Successfully applied 2 migrations to schema "public", now at version v2 (execution time 00:00.146s)

- Flyway V2에서 6개 업무 테이블과 제약조건 및 인덱스 추가
- 회사 컨텍스트 기반 PostgreSQL RLS 정책 적용
- 암호화 필드, JSON 배열 및 날짜 무결성 제약조건 정의
- Flyway migration과 스키마 구조, 제약조건, 인덱스 및 회사별 RLS 격리를 검증(~Tests.java)
- H2 local/test 환경은 V1까지만 실행하도록 Flyway 설정 분리(resources/application.yaml)
@krestar
krestar requested a review from hywznn July 22, 2026 08:00
@hywznn hywznn self-assigned this Jul 22, 2026
@hywznn
hywznn merged commit 617f0da into main Jul 22, 2026
1 check passed
@hywznn
hywznn deleted the feat/postgresql-schema branch July 22, 2026 08:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants