Инструмент вывода схемы
Каждая новая интеграция начинается одинаково: API возвращает объект JSON, и вам нужна модель, чтобы его хранить. Набирать 20 полей вручную утомительно и чревато ошибками. Этот инструмент разбирает пример объекта JSON, подбирает тип столбца для каждого ключа и выдаёт готовую к вставке схему в нужном вам формате: SQL CREATE TABLE, схема Mongoose или определение модели Sequelize.
Как вывести схему из JSON
-
1
Вставьте пример объекта
Введите один объект JSON или массив объектов (читается первый объект массива). Используйте полную запись со всеми заполненными полями, чтобы каждый столбец получил тип.
-
2
Выберите формат вывода
SQL CREATE TABLE (в стиле Postgres / MySQL / SQLite), Mongoose для приложений Node.js на MongoDB или Sequelize для реляционных приложений Node.js.
-
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, получит тип text/string, а это редко то, что вам нужно. - Переименуйте зарезервированные слова после генерации. Поля вроде
type,orderилиuserпридётся заключать в кавычки в SQL. - Относитесь к выводу как к каркасу. Настройте длины VARCHAR и точность DECIMAL, добавьте индексы, пометьте столбцы как
NOT NULLи выберите настоящие ключи перед выпуском.
Часто задаваемые вопросы
Вложенный объект или массив сопоставляется одному столбцу JSON (JSON в SQL и Sequelize, поле типа Object в Mongoose). Инструмент не разворачивает вложенные структуры во вложенные таблицы или подсхемы, поэтому при необходимости вы сами их уплощаете или нормализуете.
Нет. Если вы вставите массив объектов, проверяется только первый объект, и именно его ключи определяют схему. Убедитесь, что в этой первой записи есть все нужные вам поля с реальным значением в каждом.
Нет. Каждый столбец выводится только с типом, поэтому в выводе нет внешних ключей, ограничений уникальности, индексов или предложений NOT NULL. Добавьте их вручную, потому что они кодируют замысел, который инструмент не может восстановить по образцу.
Выберите SQL CREATE TABLE для миграции реляционной базы данных, Mongoose Schema для приложения Node.js на MongoDB или Sequelize Model для приложения Node.js на реляционной базе данных через ORM Sequelize.
Сопутствующие инструменты
Справочная таблица ASCII
Полная таблица ASCII от 0 до 127 с десятичным, шестнадцатеричным, восьмеричным и двоичным представлением, а также записью числовых ссылок HTML, включая NUL, LF и DEL.
Справочник символов HTML
Справочник HTML-сущностей с поиском, их именованными и числовыми кодами, а также копированием специальных символов и знаков одним кликом.
Справочник сочетаний клавиш
Ищите документированные сочетания по умолчанию для VS Code, Chrome и Bash с GNU Readline в macOS, Windows и Linux.
Счетчик FPS
Измерьте FPS браузера через requestAnimationFrame: сглаживание, минимальная и максимальная частота кадров, порог предупреждения и график по желанию. Работает локально, без загрузок и API.
Генератор случайных букв
Генерируйте случайные буквы A-Z. Выберите количество, верхний или нижний регистр либо смешанный вариант для игр, заданий и уроков.
Конвертер размера файлов
Преобразуйте значения между байтами, КБ, МБ, ГБ, ТБ и двоичными единицами IEC (KiB, MiB, GiB, TiB), свободно сочетая десятичные и двоичные единицы.
Инструмент доступен на других языках
- Narzędzie do wnioskowania schematu [PL]
- Alat Inferensi Skema [ID]
- Schema-Inferenz-Tool [DE]
- เครื่องมืออนุมาน Schema [TH]
- Ferramenta de Inferência de Esquema [PT]
- スキーマ推論ツール [JA]
- 스키마 추론 도구 [KO]
- Schemainferensverktyg [SV]
- Công cụ suy luận lược đồ [VI]
- Herramienta de Inferencia de Esquema [ES]
- أداة استنتاج المخطط [AR]
- Outil d'inférence de schéma [FR]
- Schema-inferentie-tool [NL]
- Schema Inference Tool [EN]
- Strumento di Inferenza Schema [IT]
- Şema Çıkarım Aracı [TR]
- 模式推断工具 [ZH]