# DB Migrate

> Миграция схемы базы данных: SQLite → PostgreSQL/Supabase. Генерация SQL, проверка совместимости.

- Skill: `alexeykrol/db-migrate` (Agent Skill)
- Install (CLI): `npx skillmds@latest add alexeykrol/db-migrate`
- Raw SKILL.md: https://api.skillmd.com/api/skills/alexeykrol/db-migrate/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Data & Analytics
- Author: alexeykrol (https://skillmd.com/u/alexeykrol)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/alexeykrol/db-migrate

---


# Skill: Database Migration

## Workflow: SQLite → PostgreSQL/Supabase

### 1. Анализ текущей схемы

```bash
# Извлечь схему из SQLite
sqlite3 database.db ".schema" > schema-sqlite.sql
```

### 2. Конвертация типов

| SQLite | PostgreSQL |
|--------|-----------|
| INTEGER | INTEGER / BIGINT |
| TEXT | TEXT / VARCHAR |
| REAL | DOUBLE PRECISION |
| BLOB | BYTEA |
| DATETIME (text) | TIMESTAMPTZ |
| BOOLEAN (0/1) | BOOLEAN |
| AUTOINCREMENT | SERIAL / GENERATED ALWAYS AS IDENTITY |

### 3. Генерация PostgreSQL схемы

- Преобразовать типы
- Добавить TIMESTAMPTZ вместо TEXT для дат
- Заменить AUTOINCREMENT на SERIAL
- Добавить Row Level Security (RLS) для Supabase
- Сгенерировать миграционный файл

### 4. Проверка

- Валидировать SQL синтаксис
- Проверить foreign keys
- Проверить индексы
- Проверить constraints

### 5. Деплой

**Staging (автономно):**
```bash
# Применить на staging
psql $STAGING_DATABASE_URL -f migration.sql
```

**Production (с подтверждением):**
- Показать пользователю план миграции
- Дождаться подтверждения
- Применить
- Проверить результат

## Supabase-специфика

- Автоматически добавлять RLS policies
- Использовать Supabase CLI если доступен:
  ```bash
  supabase db push
  ```
- Генерировать TypeScript типы:
  ```bash
  supabase gen types typescript --local > src/types/database.ts
  ```

