Files

39 lines
2.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# data/ — дамп данных прежней БД
Здесь сохранены данные, выгруженные из **прежней** PostgreSQL (инстанс
`postgresqlk8s-master.60bdf3e3-...`, БД `ipwhitelist`), до переноса в новую
(инстанс `a5e9d24f`).
## Файлы
| Файл | Таблица | Строк | Описание |
|---|---|---|---|
| `companies.json` | companies | 9 | метаданные компаний (id, client_id, name, custom_limit, created_at, updated_at) |
| `whitelist_entries.json` | whitelist_entries | 20 | записи белого списка (IP, comment, кто создал/изменил/удалил, даты) |
| `audit_log.json` | audit_log | 39 | журнал аудита (user_email, company_id, action, old/new_value, entry_id, created_at) |
| `_migrations.json` | _migrations | 2 | применённые миграции |
| `import.sql` | — | 84 строки | готовый SQL-скрипт вставки (companies → entries → audit + sequence) |
Формат каждого `.json` — ответ `POST /api/sql`:
```json
{ "ok": true, "fields": [...], "rows": [...], "rowCount": N }
```
## Почему нет session.json
Таблица `session` (1147 строк) — временные пользовательские сессии входа
(`connect-pg-simple`). Для переноса белых списков не нужна и не переносится —
в новой БД сессии создаются заново. Дамп `session.json` был обрезан и удалён.
## import.sql
Генерируется из `*.json` и содержит:
- `BEGIN; ... COMMIT;` — транзакция
- INSERT для `companies` (с явными id, `ON CONFLICT (id) DO NOTHING`)
- INSERT для `whitelist_entries` (id + company_id — ссылки сохранены)
- INSERT для `audit_log`
- `SELECT setval(...)` — сброс sequence на MAX(id)
**Важно:** `/api/sql` выполняет ОДИН statement за вызов, поэтому `import.sql` целиком
никак не выполнить одним запросом. Вставка делалась клиентом по одному INSERT.