# Переход с SQLite на PostgreSQL ## Зачем Текущая серверная база на `SQLite` удобна для простого односерверного режима, но она хуже подходит для большого числа параллельных записей, роста нагрузки и дальнейшего масштабирования сервера. `PostgreSQL` нужен как следующий уровень серверной БД для более надёжной конкурентной записи, более предсказуемой работы под нагрузкой и дальнейшего роста проекта. ## Что сделать - Подготовить план переноса серверной БД с `SQLite` на `PostgreSQL`. - Найти все места, где код завязан на особенности `SQLite`. - Проверить все DAO и SQL-запросы на совместимость с `PostgreSQL`. - Продумать схему миграции существующей production/test базы без потери данных. - Отдельно проверить транзакции, `UPSERT`, индексы, case-insensitive сравнения и миграции схемы. - После этого подготовить отдельный этап внедрения и переключения сервера. ## Что уже есть в коде - Доступ к БД в основном проходит через DAO-слой, а не полностью размазан по проекту. - Основная серверная логика уже разделена по модулям. - Но SQL и миграции сейчас написаны под `SQLite` и потребуют отдельного прохода. ## Откуда продолжать - Начать с инвентаризации всех DAO и схемы БД. - После этого сделать отдельный документ с оценкой объёма работ по переносу. - Затем решить, будет ли это: - полный перевод сервера на `PostgreSQL`; - или поддержка двух драйверов на переходный период. ## Что потом обновить - Серверную документацию по БД и миграциям. - Инструкции по локальному запуску сервера. - Скрипты деплоя и настройки окружения.