Some checks reported errors
continuous-integration/drone/push Build encountered an error
1.8 KiB
1.8 KiB
Отчёт об исправлении ошибки базы данных
Проблема
sqlalchemy.exc.ProgrammingError: column participations.account_id does not exist
Причина
Миграция 003 не была применена корректно - столбец account_id не был добавлен в таблицу participations, хотя модель SQLAlchemy ожидала его наличие.
Диагностика
- Проверка миграций:
alembic currentпоказал версию 005 (head) - Проверка структуры таблицы: В таблице
participationsотсутствовал столбецaccount_id - Проверка внешних ключей: Отсутствовал FK constraint на
accounts.id
Исправление
Применено вручную:
-- Добавление столбца
ALTER TABLE participations ADD COLUMN account_id INTEGER;
-- Добавление внешнего ключа
ALTER TABLE participations
ADD CONSTRAINT fk_participations_account_id
FOREIGN KEY (account_id) REFERENCES accounts(id)
ON DELETE SET NULL;
Результат
- ✅ Столбец
account_idдобавлен - ✅ Внешний ключ настроен
- ✅ Бот запустился без ошибок
- ✅ Создание розыгрышей должно работать корректно
Дата исправления
16 ноября 2025 г. 20:54
Рекомендации
- При развертывании на других серверах убедиться, что все миграции применены корректно
- Рассмотреть возможность добавления проверки целостности схемы БД при запуске