Инструмент вывода схемы

Каждая новая интеграция начинается одинаково: API возвращает объект JSON, и вам нужна модель, чтобы его хранить. Набирать 20 полей вручную утомительно и чревато ошибками. Этот инструмент разбирает пример объекта JSON, подбирает тип столбца для каждого ключа и выдаёт готовую к вставке схему в нужном вам формате: SQL CREATE TABLE, схема Mongoose или определение модели Sequelize.

Как вывести схему из JSON

  1. 1

    Вставьте пример объекта

    Введите один объект JSON или массив объектов (читается первый объект массива). Используйте полную запись со всеми заполненными полями, чтобы каждый столбец получил тип.

  2. 2

    Выберите формат вывода

    SQL CREATE TABLE (в стиле Postgres / MySQL / SQLite), Mongoose для приложений Node.js на MongoDB или Sequelize для реляционных приложений Node.js.

  3. 3

    Задайте имя таблицы или модели

    Определяет имя таблицы в выводе SQL либо имя схемы или модели в выводе Mongoose и Sequelize.

  4. 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), свободно сочетая десятичные и двоичные единицы.

Инструмент доступен на других языках