DB Check

Плагин для Payload 3: находит и исправляет проблемы согласованности данных в коллекциях, объединяет дубликаты и чинит ссылки в админке.

Сообщество 0 11/нед MIT v0.2.0

Установка

pnpm add @yairl/payload-db-check

Описание

DB Check решает проблемы согласованности данных в коллекциях Payload 3 через отдельную страницу в админке. По умолчанию она доступна по адресу `/admin/db-check`, а ссылку на неё можно вывести в боковую панель. Вы выбираете коллекцию и нужные проверки, после чего запускаете сканирование. Все операции чтения, пока вы явно не запустите восстановление, остаются доступными только для чтения. Любое исправление сначала показывает превью будущих изменений. Плагин выполняет три типа проверок. Поиск дубликатов находит записи с совпадающим ключом, который вы задаёте сами, например `fullName` и `birthday`. Первое поле ключа считается основным идентификатором: записи с совпадающим идентификатором, но разными данными в остальных полях, помечаются как возможные дубликаты. Поиск битых ссылок обнаруживает поля типа relationship и upload, указывающие на несуществующие документы. Плагин обходит схему и находит все поля связей, включая вложенные в массивы, группы, табы и блоки. Поиск односторонних связей выявляет двунаправленные отношения, где данные записаны только с одной стороны, и предлагает пары зеркальных полей из схемы для подтверждения. Восстановление данных включается отдельно. Слияние дубликатов позволяет выбрать выжившую запись, определить, чьи значения побеждают в каждом поле, и отобрать записи-источники. Входящие ссылки переписываются на выжившую запись до удаления дублей, поэтому само слияние не порождает битых ссылок. Пакетный режим сливает все группы записей, где дубли совпадают по каждому полю. Очистка битых ссылок удаляет несуществующие id, оставляя валидные. Перестроение ссылок восстанавливает имена удалённых записей из другой базы данных на том же сервере MongoDB и заново связывает документы по имени, по одному или пакетно. Поскольку слияние удаляет записи, оно включается опцией `mergeable` для отдельных коллекций, а `defaultKeyFields` подставляет рекомендуемые ключи для поиска дубликатов. Сами проверки работают для любой коллекции. Плагин регистрирует REST-эндпоинты под `/api/db-check` (schema, databases, run, merge, repair, fix, link), все они защищены предикатом `access`, который по умолчанию разрешает доступ любому вошедшему пользователю. Перестроение ссылок читает данные из другой базы данных MongoDB, но никогда не пишет в неё. Стили подключаются через глобальный namespace, поэтому CSS-модули в хост-приложении не нужны.

О пакете

Имя пакета
@yairl/payload-db-check
Последняя версия
0.2.0
Размер
318 кБ
Лицензия
MIT
Загрузок в неделю
11
Последняя публикация
26 июл. 2026 г.

Ещё от ylahav

Профиль автора

onpage for TanStack Start

Подключает плагин payload-onpage к сайту на TanStack Start, чтобы редакторы правили контент и смотрели черновики прямо на странице.

On-Page Editing

Встраивает редактирование Payload-страниц прямо в Next.js-фронтенд, сохраняет правки как черновики и выдаёт ссылки для предпросмотра.

On-Page React Editor

Добавляет на React-страницы Payload визуальный редактор: тулбары, панели и редакторы полей поверх отрисованной страницы.

Collaborative Comments

Добавляет комментарии на уровне документов и полей в админку Payload, с упоминаниями, email-уведомлениями, разрешением, мультитенантностью и фильтрацией по локали.

Dub

Плагин для Payload CMS для автоматического создания и управления короткими ссылками с использованием Dub.

Visual Editing

Плагин для Payload CMS 3.x добавляет на фронтенд оверлеи редактирования: клик по элементу открывает нужное поле в админке.