JSONB-редактор
JSONB-редактор работает с jsonb (и json) как со структурой, а не строкой. Три режима — текст, дерево, таблица — переключаются мгновенно. Изменения применяются как diff: ide99 не переписывает всё значение и не переставляет ключи.
Открыть
В гриде результата двойной клик по jsonb-ячейке — откроется модальное окно редактора.
Также: правый клик → Edit JSON… в гриде или в панели объекта.
Три режима просмотра
Сверху окна — переключатель: Text · Tree · Table.
Text
Сырой JSON с подсветкой синтаксиса. Для опытных. Поддерживается:
- Подсветка ключей, строк, чисел, литералов
- Сворачивание массивов и объектов (стрелка слева от
[ или {)
- Поиск (⌘+F)
Ошибка валидации (запятая забыта, кавычки) — подсветится красным, Save заблокируется.
Tree
Дерево с раскрываемыми узлами. Каждый узел — ключ + значение + тип в подсказке.
- Кликнуть на ключ — переименовать
- Кликнуть на значение — изменить (тип определяется автоматически)
- Кнопка + на узле — добавить ребёнка (key для object, элемент для array)
- Кнопка × — удалить ветку
- Drag&drop — переставить ключи или элементы массива
Дерево применяет diff: если переименовали email → e_mail, ide99 сохранит новое имя ровно в том месте, не пересоздавая всё значение.
Table
Если jsonb-значение — массив объектов с одинаковыми ключами (типичный случай — events log, tags, items), Table режим покажет это как таблицу:
[
{"id": 1, "name": "Alice", "active": true},
{"id": 2, "name": "Bob", "active": false}
]
Превратится в:
| id |
name |
active |
| 1 |
Alice |
✓ |
| 2 |
Bob |
— |
Можно редактировать ячейки, добавлять колонки, удалять строки. Особенно удобно для tag-листов и settings-массивов.
Diff-предпросмотр
Перед сохранением кнопка Preview SQL покажет точный UPDATE, который будет выполнен:
UPDATE users
SET data = jsonb_set(data, '{email}', '"new@mail.com"')
WHERE id = 42;
ide99 использует jsonb_set для точечных правок, а не data = '{..полный объект..}' — это:
- Меньше изменений в WAL (важно для replication)
- Не ломает другие поля, если кто-то параллельно их обновил
- Сохраняет порядок ключей в значении
Сохранение на prod-подключении
На подключении с prod-средой при сохранении ide99 покажет дополнительное подтверждение:
Сохранение изменения jsonb в users.data для строки id=42. Подтвердить?
Это страховка от опечаток в дереве, которые могут затронуть критичные поля.
Совет: проверка перед сохранением
Сложные правки (пересортировка массива, замена вложенного объекта) удобно делать в Tree-режиме, потом переключиться на Text и глазами проверить корректность.
Автокомплит JSONB-путей в редакторе
Если в SQL-редакторе вы пишете data->> — после стрелки ide99 подскажет реальные ключи из этой колонки. Для этого ide99 запускает фоновое сканирование схемы при подключении: проходит по первым ~10 000 строкам каждой jsonb-колонки, собирает встречающиеся ключи и их типы.
Сканирование запускается:
- При первом подключении к базе
- При нажатии Refresh в Schema-панели
- Раз в сутки (если приложение запущено)
Сканирование read-only, ничего в базу не пишет. Можно отключить в Настройки → Общие → Scan jsonb schemas.
Что дальше