fix(database): Исправлены критические ошибки БД - job, state, looking_for

- Добавлена колонка job в profiles (устраняет ошибку column job does not exist)
- Добавлена колонка state в users (устраняет предупреждения State column does not exist)
- Исправлен триггер create_initial_profile() для включения looking_for
- Колонка looking_for сделана nullable с DEFAULT 'both'
- Добавлена колонка interested_in как современный синоним для looking_for
- Созданы индексы для производительности: idx_profiles_job, idx_users_state, idx_profiles_interested_in

Патчи:
- sql/fix_looking_for_column.sql
- sql/add_job_and_state_columns.sql

Утилиты:
- bin/apply_all_patches.sh - автоматическое применение всех патчей

Документация:
- docs/DATABASE_FIXES.md - подробное описание исправлений
- docs/HEALTH_CHECK.md - чеклист проверки здоровья бота
- docs/FIXES_SUMMARY_2025-11-06.md - краткая сводка изменений

Fixes: #job-column-error #state-column-warning #looking-for-constraint
This commit is contained in:
2025-11-06 10:30:35 +09:00
parent 9281388959
commit 88d9ccd75d
7 changed files with 721 additions and 0 deletions

View File

@@ -2,6 +2,24 @@
Этот документ описывает процесс автоматического обновления бота с помощью созданных скриптов.
## Доступные скрипты
### apply_all_patches.sh
Применяет все SQL патчи к базе данных в правильном порядке:
- Основная схема (consolidated.sql)
- Исправление триггера looking_for
- Добавление колонок job и state
```bash
./bin/apply_all_patches.sh
```
### apply_migrations.sh
Применяет Node.js миграции через node-pg-migrate.
### apply_direct_sql.sh
Применяет SQL файлы напрямую через psql.
## Скрипт обновления
Скрипт обновления выполняет следующие действия: