DB 스키마 변경 계획기

DB 스키마 변경 계획기

1. 전후 스키마 입력

PostgreSQL 16 제한 범위입니다. CREATE TABLE/INDEX 문을 넣고 각 문장 끝에 세미콜론을 붙이세요. 식별자는 따옴표 없는 단순 이름이어야 합니다.

검토용 계획기입니다. 실제 데이터·외부 객체·이미 적용한 변경·잠금·백업은 확인하지 못합니다. DB 검토 없이 출력 SQL을 실행하지 마세요.

예제

old_table -> new_table 또는 old_table.old_column -> new_column 형식입니다. 테이블 이름도 바꿀 때 열 매핑에는 이전 테이블 이름을 사용합니다.

지원 구문과 제한

CREATE TABLE t (id integer NOT NULL, name text, PRIMARY KEY (id), CONSTRAINT fk FOREIGN KEY (id) REFERENCES parent (id)); CREATE [UNIQUE] INDEX idx ON t (name); 자료형: integer, bigint, text, boolean, date, uuid, timestamp [with time zone], varchar(n), numeric(p[,s]). 참조 열은 모델 안의 단일 열 기본/고유 키여야 합니다.

따옴표/스키마 한정 이름, 기본값, serial/identity, CHECK, UNIQUE 테이블 제약, 복합 외래 키, ON DELETE 동작, ALTER 문, 뷰·트리거, 부분/식/동시 인덱스, 임의 SQL은 지원하지 않습니다. 입력 전체를 거부합니다.

전후 DDL 각각 24,000자, 테이블 32개, 열 256개, 인덱스 64개, 외래 키 64개까지입니다. 전체 DB 덤프를 읽는 도구는 아닙니다.

댓글과 질문

DB 스키마 변경 계획기

두 SQL 텍스트의 글자 차이가 아니라 작은 PostgreSQL 16 스키마의 객체 차이를 비교합니다. 엄격한 로컬 파서가 테이블·열·단일 열 명명 외래 키·기본 키·단순 인덱스를 모델링하고 의존성 해제·이름 변경·추가·제약 순서를 만듭니다. 사라진 이름과 새 이름은 명시적 매핑 또는 별도 삭제/추가 확인 전까지 모호합니다. 데이터 손실과 검증 위험 단계는 개별 확인이 필요하고 지원하지 않는 변경은 SQL 출력을 막습니다. 실제 DB·행·뷰·권한·운영 잠금은 조회하지 않습니다.

주요 기능

  • PostgreSQL 16 제한 DDL을 끝까지 검사하고 지원하지 않는 구문은 거부
  • 명시적 테이블·열 이름 변경과 미해결 이름의 모호성 표시
  • 테이블·열·인덱스·외래 키의 의존성 순서와 변경 이유
  • 고위험 단계별 확인과 수동 변경 차단 후 SQL 출력
  • 로컬 JSON 검토 기록과 확인 후 PostgreSQL SQL 저장

사용 방법

  1. 전후 CREATE TABLE/INDEX 문을 붙여넣거나 로컬 SQL 파일을 엽니다.
  2. 예제를 보며 이름 변경을 old -> new로 명시하고, 남은 이름이 실제 별도 삭제·추가인지 검토합니다.
  3. 순서·의존성·삭제 위험·수동 차단 사항을 확인합니다.
  4. 고위험 단계를 각각 확인해 검토용 SQL을 연 뒤 백업과 실제 DB 상태를 대조합니다.

활용 예시

  • 기존 열 값을 지우지 않고 이름 변경을 계획
  • 기준 테이블을 지우기 전에 외래 키가 제거되는지 확인
  • 고유 인덱스·새 외래 키의 기존 데이터 검증 위험 찾기
  • 자료형 변경·새 필수 열의 수동 보정 필요성을 표시

자주 묻는 질문

어떤 SQL 방언과 문장을 지원하나요?

제한된 PostgreSQL 16 범위만 지원합니다. 따옴표 없는 단순 식별자, 지원 자료형과 선택적 NOT NULL의 CREATE TABLE, 테이블 기본 키, 이름 있는 단일 열 외래 키, 단순 CREATE [UNIQUE] INDEX입니다. 그 외 구문은 전체 입력을 거부합니다.

이름 변경을 자동 추정하나요?

아니요. 사라진 이름과 새 이름은 변경일 수도 별도 삭제·추가일 수도 있습니다. 테이블·열 변경을 명시하거나 별도 작업임을 확인해야 하며 위험한 삭제 단계도 각각 확인해야 합니다.

이 SQL을 운영 DB에서 그대로 실행해도 안전한가요?

자동 실행은 하지 않습니다. BEGIN/COMMIT과 RESTRICT를 쓰지만 실제 행·외부 뷰/함수·잠금·권한·백업·복구 경로는 모릅니다. 백업 환경에서 시험하고 DB 담당자가 검토해야 합니다.

자료형 변경이나 새 NOT NULL 열은 왜 차단되나요?

USING 식이나 기존 행 값 보정이 필요할 수 있고 실제 데이터에서 실패할 수 있습니다. 도구는 변환식이나 기본값을 임의로 만들지 않습니다.

외래 키와 인덱스는 순서에 반영하나요?

모델에 있는 오래된 외래 키·인덱스를 먼저 제거하고 새 테이블을 만든 뒤 새 제약을 마지막에 추가합니다. 모델 밖 의존 객체에서는 RESTRICT가 중지될 수 있습니다.

개인정보 안내

DDL과 매핑은 이 브라우저에서만 해석합니다. DB에 연결하거나 앱 API에 스키마를 보내지 않으며 파일 저장은 로컬에서 처리합니다.

참고 자료

관련 도구

SQL 포맷터데이터베이스 관계도 설계기텍스트 비교기WebAssembly 모듈 검사기다국어 연결 행렬 검사기구문 트리 질의 실험실컨테이너 빌드 단계 분석기의존성 그래프 탐색기버전 제약 충돌 분석기작업 스케줄 충돌 검사기패치 검토 작업대소스맵 탐색기다국어 카탈로그 검사기구조화 데이터 대조기HTTP 아카이브 분석기웹훅 서명 실험실Protobuf 스키마 작업대GraphQL 스키마 실험실Avro 스키마 호환성 검사기로컬 SQL 데이터 작업대스키마 기반 입력 폼 생성기3D 메쉬 검사·복구기관망 유량·압력 실험실로봇팔 운동학 실험열저항 회로 실험실보 휨 실험실기어열 배치 실험공차 누적 실험실센서 교정 곡선 맞추기PCB 적층 비교 설계기디지털 필터 설계기도로망 도달 범위 지도태양 그림자 배치 실험GPS 오차 시뮬레이터디지털 논리 회로 실험아날로그 회로 실험실링크 기구 운동 실험해석용 메쉬 생성기OpenAPI 계약 검사기수식 차원 검사기트러스 힘 실험실논리식 최소화 실험실제어계 응답 실험실대기행렬 시뮬레이터위치 구역 출입 이벤트 실험실좌표계 변환 실험실측량 폐합 검산 실험실위성·래스터 구간 분류단계구분도 설계기지도 인쇄 편집기GeoTIFF 래스터 재투영고도 등고선 생성기지형 가시영역 실험실지형 유역 탐색기오프라인 지도 타일 패키저텍스트 파일 인코딩 작업대파일 경로 호환성 검사기SBOM 라이선스 탐색기파일 형식 위장 검사기npm 잠금 파일 충돌 해결기소스 비밀값 점검기오프라인 웹 자료 패키저인증서 체인 검사기토렌트 메타정보 검사기파일 분할 전송 패키저로컬 파일 암호 금고동일 파일 찾기압축 파일 작업대디자인 토큰 관리기반응형 간격 체계 설계기반응형 타이포 시스템 설계기포장 전개도 설계기SVG 아이콘 스프라이트 묶기Flexbox 배치 설계기CSS Grid 배치 설계기정규 언어 동치 검사기Markdown 문서 묶음 검사기로그 패턴 추출기반응형 HTML 레이아웃 검사기메일 HTML 렌더 검토기내부 링크 구조 분석기상태 전이 모델 테스트 생성기페트리넷 흐름 실험Git 이력 그래프 탐색기HTTP 요청 명령 설계기바이너리 프로토콜 설계기바이너리 Hex 편집기바이너리 차이 패치 만들기파일 전자서명 작업대API 모의 응답 실험실데이터 열 매핑 설계기이벤트 로그 세션 분석기시계열 누락 검사기학습 데이터 분할기데이터 흐름 계보 작성기결정트리 학습 실험실데이터 비식별 처리기데이터 계약 규칙 검사기JSON Schema 검증기항목 동시출현 분석기robots 규칙 시뮬레이터HTML 검색 기본 검사기접근성 구조 검사기RSS·Atom 피드 작성기IndexNow 배포 알림 준비기검색 로봇 로그 분석기CSP 정책 검토기검색 실적 CSV 분석기CSV 수식 위험 검사기CORS 응답 시뮬레이터HTTP 캐시 동작 실험실쿠키 속성 검사기성능 추적 파일 분석기사이트맵 구조 검사기파일 일괄 이름 바꾸기파일 묶음 무결성 검증기폴더 용량 지도폴더 차이 검토기방문 순서 최적화GeoJSON 지도 편집기지도 영역 중첩 분석기지도 라벨 배치기공간 속성 결합기GeoJSON 공간 위상 검사기GPS 이동 기록 분석기이동 기록 위치 가림표 관계 결합기피벗 테이블 작업대데이터 품질 프로파일러표 데이터 정제 작업대기록 대사 도구데이터 사전 작성기canonical 관계 검사기리다이렉트 계획 검증기HTTP 응답 속도·핑 참고 테스트내 브라우저·시스템 정보JSON ↔ YAML 변환기XML ↔ JSON 변환기HTML 포맷터JavaScript 압축기목 데이터 생성기.gitignore 생성기라이선스 생성기User-Agent 분석기비밀번호 강도 검사코드 이미지 만들기XML 포맷터HTTP 상태 코드 찾기MIME 타입 찾기JS·SQL 문자열 이스케이프CSS 박스 그림자 생성기CSS 그라데이션 생성기들여쓰기 변환기진법 변환기유니코드 이스케이프 변환기유니코드 문자 분석기JSON 구조 비교기Markdown 표 생성기Base64 인코더JSON 포맷터URL 인코더Cron 표현식 생성기정규식 테스터UUID 생성기해시 생성기타임스탬프 변환기JWT 디코더HTML 엔티티 변환기Markdown 미리보기CSS Minifier메타태그·OG 생성기JSON CSV 변환대소문자·케이스 변환이미지 Base64 변환
개발 도구 도구 전체 보기 →이미지/미디어 →텍스트/변환 →생활/재미 →