Files
SHiNE-server/TODO/medium/2026-07-22_переход_с_sqlite_на_postgresql.md
T

2.6 KiB
Raw Blame History

Переход с SQLite на PostgreSQL

Зачем

Текущая серверная база на SQLite удобна для простого односерверного режима, но она хуже подходит для большого числа параллельных записей, роста нагрузки и дальнейшего масштабирования сервера.

PostgreSQL нужен как следующий уровень серверной БД для более надёжной конкурентной записи, более предсказуемой работы под нагрузкой и дальнейшего роста проекта.

Что сделать

  • Подготовить план переноса серверной БД с SQLite на PostgreSQL.
  • Найти все места, где код завязан на особенности SQLite.
  • Проверить все DAO и SQL-запросы на совместимость с PostgreSQL.
  • Продумать схему миграции существующей production/test базы без потери данных.
  • Отдельно проверить транзакции, UPSERT, индексы, case-insensitive сравнения и миграции схемы.
  • После этого подготовить отдельный этап внедрения и переключения сервера.

Что уже есть в коде

  • Доступ к БД в основном проходит через DAO-слой, а не полностью размазан по проекту.
  • Основная серверная логика уже разделена по модулям.
  • Но SQL и миграции сейчас написаны под SQLite и потребуют отдельного прохода.

Откуда продолжать

  • Начать с инвентаризации всех DAO и схемы БД.
  • После этого сделать отдельный документ с оценкой объёма работ по переносу.
  • Затем решить, будет ли это:
    • полный перевод сервера на PostgreSQL;
    • или поддержка двух драйверов на переходный период.

Что потом обновить

  • Серверную документацию по БД и миграциям.
  • Инструкции по локальному запуску сервера.
  • Скрипты деплоя и настройки окружения.