# SQLAlchemy ORM Expert

Скилл по SQLAlchemy 2.0+ для поддержки клиентов: модели тикетов, сессии, async-запросы и PostgreSQL. Пригодится, когда пишете бэкенд на FastAPI.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 470 установок · ★ 62
- Автор: Customer Support Tech Enablement Team
- Лицензия: не указана · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/manutej/luxor-claude-marketplace/tree/HEAD/plugins/luxor-database-pro/skills/sqlalchemy/SKILL.md
- Обновлён: 2026-06-13
- HTML: https://affpapa.org/nevibecode/skills/sqlalchemy-orm-expert

## Что делает

Скилл описывает, как строить модели данных для системы поддержки: пользователи, тикеты, комментарии, вложения, теги. Декларативный маппинг с аннотациями типов, перечисления для статуса и приоритета, мягкое удаление через `deleted_at`, связи один-ко-многим и многие-ко-многим через промежуточную таблицу. Всё это разобрано на примерах кода, которые агент переносит в ваш проект.

Дальше идут сессии, оптимизация запросов, async-операции и работа с PostgreSQL. Скилл заявляет поддержку FastAPI, Flask и Django. Для async нужен `asyncpg`, для синхронного доступа к PostgreSQL — `psycopg2-binary`, миграции через `alembic`, тесты на `pytest` и `pytest-asyncio`. Сам SQLAlchemy нужен версии 2.0 и выше: на 1.x примеры с `Mapped` и `mapped_column` не заработают.

Скилл собран под сценарии поддержки: управление тикетами, аутентификация, массовые операции с данными, отчёты, аудит. Если ваш проект про другое, примеры всё равно переносятся, но структуру моделей придётся менять под себя.

## Требования
- Работает с: PostgreSQL

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add manutej/luxor-claude-marketplace --skill sqlalchemy-orm-expert -a claude-code
```
```bash
npx skills add manutej/luxor-claude-marketplace --skill sqlalchemy -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/sqlalchemy/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/sqlalchemy/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add manutej/luxor-claude-marketplace --skill sqlalchemy -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/sqlalchemy/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add manutej/luxor-claude-marketplace --skill sqlalchemy -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/sqlalchemy/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install manutej/luxor-claude-marketplace sqlalchemy
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/sqlalchemy/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add manutej/luxor-claude-marketplace --skill sqlalchemy -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/manutej/luxor-claude-marketplace --path plugins/luxor-database-pro/skills/sqlalchemy
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/sqlalchemy/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add manutej/luxor-claude-marketplace --skill sqlalchemy -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/manutej/luxor-claude-marketplace/tree/HEAD/plugins/luxor-database-pro/skills/sqlalchemy/SKILL.md

## Когда брать
- описать модели тикетов, пользователей и комментариев
- настроить связи между таблицами без ручных join
- перевести синхронные запросы на async с FastAPI
- ускорить тяжёлые выборки в PostgreSQL
- добавить мягкое удаление и аудит изменений

## Примеры запросов агенту
- Опиши модели User, Ticket и Comment на SQLAlchemy 2.0 с аннотациями типов
- Перепиши этот запрос на async-сессию с asyncpg
- Проверь связи в моих моделях и подскажи, где нужен selectinload

## Похожие
- [sqlalchemy](https://affpapa.org/nevibecode/rules/sqlalchemy.md) — правило · ★ 3579
- [prisma-orm-setup](https://affpapa.org/nevibecode/skills/prisma-orm-setup.md) — скилл · 67900 установок
- [prisma-postgres](https://affpapa.org/nevibecode/skills/prisma-postgres.md) — скилл · 382300 установок
- [prisma-patterns](https://affpapa.org/nevibecode/skills/prisma-patterns.md) — скилл · 4500 установок
- [drizzle-orm](https://affpapa.org/nevibecode/skills/drizzle-orm.md) — скилл · 1000 установок
- [django-patterns](https://affpapa.org/nevibecode/skills/django-patterns.md) — скилл · 5200 установок

Из того же набора: [manutej/luxor-claude-marketplace](https://affpapa.org/nevibecode/by/manutej/luxor-claude-marketplace.md) — 31 карточка

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
