LO
drizzle
Используется для создания схем и запросов Drizzle: таблиц, индексов, связей, джоинов и вывода типов. Применяется в рамках миграций базы данных (db-migrations).
Что делает навык
Набор правил и шаблонов для создания схем базы данных с использованием Drizzle ORM в проекте LobeHub. Определяет стандарты именования, типы первичных ключей, работу с внешними ключами, индексами и типизацией JSONB. Применяется при написании миграций и моделей базы данных.
Когда применять
- Создание новой таблицы в схеме базы данных (packages/database/src/schemas/)
- Добавление или изменение связей (foreign keys) и индексов уникальности
- Настройка типов данных для JSONB-полей с использованием конкретных интерфейсов
- Написание запросов к базе данных с использованием builder API (db.select)
- Создание тестов для новых моделей или репозиториев базы данных
Как работает
- Использовать текстовые ID (idGenerator, createNanoId) или uuid для первичных ключей, избегая serial/bigserial и составных ключей
- Применять суффиксы именования таблиц (например, _logs) в соответствии с существующими семействами таблиц
- Определять уникальность через uniqueIndex, а не через composite primary key
- Для перечисляемых значений использовать text/varchar с TypeScript-типом через $type, избегая pgEnum
- Для JSONB-полей определять конкретные интерфейсы, а не использовать Record<string, unknown>
- Использовать db.select() для запросов, избегая реляционного API (db.query.*.findFirst и т.д.)
Примеры запросов агенту
Создай схему таблицы 'agents' с текстовым ID, ссылкой на пользователя и JSONB-полем chatConfig, используя типизацию из LobeAgentChatConfig
Напиши запрос на выборку записей с JOIN, используя db.select() и explicit select, а не db.query
Добавь уникальный индекс для пары полей agentId и knowledgeBaseId в таблице связей, не используя составной первичный ключ
Что понадобится
- Конфигурация drizzle.config.ts с диалектом postgresql
- Доступ к пакету packages/database/src/schemas/ и helper-функциям из _helpers.ts
- Соблюдение правил тестирования (создание тестов для новых моделей)
Описание составлено по SKILL.md навыка, сверено 06.10.2026.
Как подключить
1Скачать навык
# возьмите папку навыка «lobehub-drizzle» из репозитория:
# https://github.com/lobehub/lobehub
2Положить папку с
SKILL.md к навыкам ассистента# положите папку навыка туда, где ассистент ищет skills:
cp -r lobehub-drizzle/ ~/.claude/skills/lobehub-drizzle/
Навык — папка с файлом SKILL.md (описание + инструкции) и опциональными скриптами. Ассистент (Claude, Claude Code и совместимые) подхватывает его по описанию и следует шагам.