스키마 추론 도구
새로운 연동은 늘 같은 방식으로 시작됩니다. API가 JSON 덩어리를 반환하면, 그것을 담을 모델이 필요합니다. 20개의 필드를 손으로 입력하는 것은 지루하고 실수하기 쉽습니다. 이 도구는 샘플 JSON 객체를 분석해 각 키의 컬럼 타입을 추론하고, 원하는 형식으로 붙여넣기만 하면 되는 스키마를 출력합니다. SQL CREATE TABLE, Mongoose 스키마 또는 Sequelize 모델 정의입니다.
JSON에서 스키마를 추론하는 방법
-
1
샘플 객체 붙여넣기
JSON 객체 하나, 또는 객체 배열을 입력하세요(배열의 첫 번째 객체를 읽습니다). 각 컬럼이 타입을 받도록 모든 필드가 채워진 완전한 레코드를 사용하세요.
-
2
출력 형식 선택
SQL CREATE TABLE(Postgres / MySQL / SQLite 스타일), MongoDB를 쓰는 Node.js 앱용 Mongoose, 또는 관계형 Node.js 앱용 Sequelize.
-
3
테이블 또는 모델 이름 지정
SQL 출력의 테이블 이름, 또는 Mongoose와 Sequelize 출력의 스키마나 모델 이름을 설정합니다.
-
4
생성된 스키마 복사
시작점으로 삼아 마이그레이션이나 모델 파일에 바로 붙여넣으세요.
타입은 어떻게 추론되는가
추론은 최선의 추측입니다. 도구는 샘플 객체 하나의 값을 읽고, 본 값을 바탕으로 각 키의 컬럼 타입을 고릅니다. 레코드끼리 비교하거나 어떤 필드가 선택 사항인지 짐작하지 않으므로, 완전하고 대표적인 객체를 주세요.
타입 매핑
| JSON 값 | SQL 타입 | Mongoose 타입 | Sequelize 타입 |
|---|---|---|---|
42(정수) |
INTEGER | Number | DataTypes.INTEGER |
3.14(소수) |
DECIMAL(10,2) | Number | DataTypes.FLOAT |
"안녕하세요"(짧은 문자열) |
VARCHAR(255) | String | DataTypes.STRING |
| 255자보다 긴 문자열 | TEXT | String | DataTypes.STRING |
"2026-04-18T10:00:00Z" |
TIMESTAMP | Date | DataTypes.DATE |
"2026-04-18" |
DATE | Date | DataTypes.DATEONLY |
true / false |
BOOLEAN | Boolean | DataTypes.BOOLEAN |
null |
TEXT | String | DataTypes.STRING |
[1, 2, 3](배열) |
JSON | Object | DataTypes.JSON |
{ "nested": ... }(객체) |
JSON | Object | DataTypes.JSON |
SQL 출력이 추가하는 것
SQL CREATE TABLE은 항상 자동 증가하는 기본 키로 시작합니다.
id INTEGER PRIMARY KEY AUTOINCREMENT,
Mongoose와 Sequelize 출력은 id 필드를 추가하지 않습니다. 두 라이브러리가 알아서 하나 만들어 주기 때문입니다.
기억해 둘 기본값과 한계
- 하나의 객체만 읽습니다. 배열을 붙여넣어도 첫 번째 요소만 검사하므로, 그 필드가 전체 스키마를 정의합니다.
- 없는 키는 없는 컬럼입니다. 샘플 객체에 없는 필드는 출력에 아예 나타나지 않습니다.
- 중첩된 객체와 배열은 하나의 JSON 컬럼이 됩니다. 도구는 이들을 하위 테이블, 하위 스키마, 외래 키로 펼치지 않습니다.
- 어떤 제약도 생성되지 않습니다. 컬럼은
NOT NULL, 고유성, 인덱스 없이 출력되므로, 당신이 조일 때까지 모두 null을 허용합니다.
더 깔끔한 결과를 위한 팁
- 완전히 채워진 레코드를 사용하세요. 샘플에서
null인 필드는 텍스트/문자열 타입으로 추론되는데, 이는 원하는 바인 경우가 드뭅니다. - 생성 후 예약어의 이름을 바꾸세요.
type,order,user같은 필드는 SQL에서 따옴표로 감싸야 합니다. - 출력을 발판으로 여기세요. VARCHAR 길이와 DECIMAL 정밀도를 조정하고, 인덱스를 추가하고, 컬럼을
NOT NULL로 표시하며, 출시 전에 진짜 키를 고르세요.
자주 묻는 질문
중첩된 객체나 배열은 하나의 JSON 컬럼으로 매핑됩니다(SQL과 Sequelize에서는 JSON, Mongoose에서는 Object 필드). 도구는 중첩 구조를 하위 테이블이나 하위 스키마로 펼치지 않으므로, 필요하면 직접 평탄화하거나 정규화하세요.
아니요. 객체 배열을 붙여넣어도 첫 번째 객체만 검사하며, 그 키가 스키마를 정의합니다. 그 첫 레코드가 필요한 모든 필드를 각각 실제 값과 함께 담고 있는지 확인하세요.
아니요. 각 컬럼은 타입만 붙어 출력되므로, 결과에는 외래 키, 고유성 제약, 인덱스, NOT NULL 절이 없습니다. 이것들은 손으로 추가하세요. 도구가 샘플로부터 복원할 수 없는 의도를 담고 있기 때문입니다.
관계형 데이터베이스 마이그레이션에는 SQL CREATE TABLE, MongoDB 위의 Node.js 앱에는 Mongoose Schema, Sequelize ORM을 통해 관계형 데이터베이스 위에서 도는 Node.js 앱에는 Sequelize Model을 고르세요.
관련 도구
보색 찾기
어떤 입력에 대해서도 보색을 찾습니다. HSL 반대 색, 분할 보색 쌍, 그리고 접근성 있는 조합 제안을 반환합니다.
Webpack 설정 생성기
순수 JavaScript, React, Vue용 webpack 5 webpack.config.js를 만드세요. TypeScript, Babel, CSS 또는 Sass, 이미지, HtmlWebpackPlugin, 개발 서버, npm install 명령까지 함께 제공합니다.
색상 혼합기
두 HEX 색상을 2-20개의 균등한 색상 견본으로 섞습니다. 양 끝 색상을 포함해 각 중간 색상을 대문자 HEX 코드로 확인하세요.
PHP 포매터
간단한 PHP 코드에 줄바꿈과 2칸 또는 4칸 들여쓰기를 추가합니다. 결과를 반드시 검토하세요. PHP 파서나 PSR-12 적용 도구가 아닙니다.
OpenAPI 검증기
OpenAPI 또는 Swagger 문서를 JSON이나 YAML로 붙여넣고 핵심 구조를 점검하세요: 버전 필드, info 객체, paths를 명확한 오류와 경고와 함께 확인합니다.
CSS 로딩 애니메이션 생성기
순수 CSS로 원형 스피너를 만듭니다. 지름, 테두리 두께, 포인트 색상, 회전 속도를 설정하고 미리 보기를 확인한 뒤 바로 쓸 수 있는 CSS를 복사하세요. SVG도 자바스크립트도 필요 없습니다.
이 도구는 다른 언어로도 제공됩니다
- เครื่องมืออนุมาน Schema [TH]
- أداة استنتاج المخطط [AR]
- Narzędzie do wnioskowania schematu [PL]
- スキーマ推論ツール [JA]
- Herramienta de Inferencia de Esquema [ES]
- Schema-Inferenz-Tool [DE]
- Schema-inferentie-tool [NL]
- Schemainferensverktyg [SV]
- Outil d'inférence de schéma [FR]
- Ferramenta de Inferência de Esquema [PT]
- Alat Inferensi Skema [ID]
- Công cụ suy luận lược đồ [VI]
- Strumento di Inferenza Schema [IT]
- Инструмент вывода схемы [RU]
- Şema Çıkarım Aracı [TR]
- 模式推断工具 [ZH]
- Schema Inference Tool [EN]