AIKraft/Skills/drizzle

drizzle

Используется для создания схем и запросов Drizzle: таблиц, индексов, связей, джоинов и вывода типов. Применяется в рамках миграций базы данных (db-migrations).

LOLobeHub official Разработка ★ 83k

Что делает навык

Набор правил и шаблонов для создания схем базы данных с использованием Drizzle ORM в проекте LobeHub. Определяет стандарты именования, типы первичных ключей, работу с внешними ключами, индексами и типизацией JSONB. Применяется при написании миграций и моделей базы данных.

Когда применять

  • Создание новой таблицы в схеме базы данных (packages/database/src/schemas/)
  • Добавление или изменение связей (foreign keys) и индексов уникальности
  • Настройка типов данных для JSONB-полей с использованием конкретных интерфейсов
  • Написание запросов к базе данных с использованием builder API (db.select)
  • Создание тестов для новых моделей или репозиториев базы данных

Как работает

  1. Использовать текстовые ID (idGenerator, createNanoId) или uuid для первичных ключей, избегая serial/bigserial и составных ключей
  2. Применять суффиксы именования таблиц (например, _logs) в соответствии с существующими семействами таблиц
  3. Определять уникальность через uniqueIndex, а не через composite primary key
  4. Для перечисляемых значений использовать text/varchar с TypeScript-типом через $type, избегая pgEnum
  5. Для JSONB-полей определять конкретные интерфейсы, а не использовать Record<string, unknown>
  6. Использовать 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 и совместимые) подхватывает его по описанию и следует шагам.