내부 앱용 데이터베이스 및 스키마 디자이너 (엔티티 → 관계 → 검증 규칙)
워크플로우에 맞춘 제약 조건, 인덱스, RLS 노트 및 샘플 시드 데이터를 포함한 정규화된 Postgres 스키마를 생성합니다.
프롬프트 개요
추천 AI 파트너
추천 팁
모든 테이블에 created_at/updated_at 추가; FK에 인덱스 적용; 승인 상태 전환을 명시적으로 모델링; 이식성을 위해 enum은 체크 제약 조건에 유지.
운영팀 제공NexusAi Technology해결하는 문제
즉석에서 만든 테이블은 나중에 데이터 문제를 일으킵니다. 이 도구는 견고한 스키마와 검증 계획을 사전에 만듭니다.
프로덕션 DDL
제약 조건이 포함된 바로 실행 가능한 Postgres SQL.
RLS 청사진
최소 권한에 맞춘 역할 정책.
인덱스 계획
핫 경로 성능 노트 및 인덱스.
시드 데이터
즉시 테스트 가능한 현실적인 삽입문.
AI 프롬프트 지침
역할: Supabase를 사용하는 내부 CRUD 및 승인 시스템용 Postgres 전문 데이터 아키텍트.
이 작업이 중요한 이유: 좋은 스키마는 중복 데이터, 깨진 승인, 느린 쿼리를 방지합니다. 명확한 제약 조건은 운영과 감사 보호에 필수적입니다.
중요한 경계:
- 핫 리드를 위한 실용적 비정규화를 포함한 3NF를 선호합니다.
- UI뿐 아니라 데이터베이스에서 데이터 무결성을 강제합니다.
- 적용 가능 시 org_id 또는 project_id를 통한 다중 테넌트 준비를 가정합니다.
사용자 입력:
- 주요 필드가 포함된 엔티티 목록
- 관계 및 승인 상태
- 쿼리 핫스팟 및 보고 요구사항
- 보안 모델(역할 및 접근 규칙)
목표:
1) 엔티티와 관계를 정규화합니다.
2) 기본/외래 키, 고유 제약 조건, 체크 제약 조건을 제안합니다.
3) 중요한 쿼리를 위한 인덱스를 정의합니다.
4) Supabase용 RLS 정책과 인증 노트를 개요합니다.
5) 시드 데이터와 마이그레이션 스크립트 개요를 제공합니다.
분석 워크플로우:
1) 엔티티/상태 맵을 구축하고 라이프사이클 이벤트를 식별합니다.
2) 각 엔티티에 대해 컬럼, 타입, 널 허용 여부, 기본값을 정의합니다.
3) 제약 조건과 연쇄 동작을 명시합니다.
4) 근거와 함께 인덱스(BTREE/GIN)를 제안합니다.
5) 역할별 SELECT/INSERT/UPDATE/DELETE용 RLS 정책을 초안 작성합니다.
6) SQL DDL과 예제 시드 삽입문을 제공합니다.
필수 출력 형식:
- ER 개요(텍스트)
- 주석이 포함된 SQL DDL 블록
- RLS 정책 목록
- 인덱스 계획 및 근거
- 시드 데이터 예시
- 마이그레이션 체크리스트
품질 관리:
- 모든 FK는 인덱싱되어야 합니다.
- 모호한 널 허용 외래 키가 없어야 합니다.
- enum/상태에 대한 체크 제약 조건이 있어야 합니다.
검증 체크리스트:
- 각 역할별 CRUD 경로 지원
- 중요한 쿼리가 인덱스로 커버됨
- 기본적으로 RLS가 테넌트 간 접근을 차단함
최종 지침: 프로덕션 준비가 된 SQL과 간단한 Supabase 설정 체크리스트를 출력하세요.
예상 결과
ER 개요: org, user, role, request, approval, comment. 요청은 상태를 가짐: draft, submitted, approved, rejected. SQL DDL: create table org (...); create table request (..., org_id uuid references org(id) on delete restrict, state text check (state in ('draft','submitted','approved','rejected'))); 인덱스: request(org_id, state) 위에, request(search_tsv) 위에 GIN. RLS: request에 활성화; select용 org_read 정책 (org_id = auth.org_id()).
실행 과정
ChatGPT에서 스키마 설계
엔티티 목록, 관계, 역할 매트릭스를 ChatGPT에 붙여넣으세요. 프롬프트를 실행하여 ER 노트, 제약 조건이 포함된 SQL DDL, RLS 정책을 받으세요. 인덱스 근거를 검토하세요.
25 minSupabase에서 DB 생성
Supabase SQL 편집기를 열고 DDL을 적용하세요. RLS를 활성화하고 생성된 정책을 추가하세요. 시드 데이터를 사용해 테스트 프로젝트를 채우고 제약 조건을 검증하세요.
20 min쿼리 검증
Supabase에서 상위 5개 쿼리를 실행하세요. 인덱스 사용과 지연 시간이 적절한지 확인하세요. 쿼리 계획이 전체 스캔을 제안하면 인덱스 정의를 조정하세요.
15 min
