SHA256
Improve direct message history and SQLite resilience
This commit is contained in:
@@ -49,6 +49,7 @@
|
||||
- `medium/2026-05-26_0029_esp32s3_file_storage.md` - ESP32S3 как личное файловое хранилище SHiNE для файлов переписок и вложений.
|
||||
- `medium/2026-06-02_сессионные_homeserver_в_pda.md` - несколько homeserver-ов пользователя как типизированные сессии в PDA с версией записи.
|
||||
- `medium/2026-06-03_подключение_других_устройств_через_qr.md` - довести подключение других устройств через QR: сейчас заготовка есть, но сценарий работает нестабильно и его нужно будет отдельно доделать.
|
||||
- `medium/2026-07-22_переход_с_sqlite_на_postgresql.md` - подготовить перевод серверной БД с `SQLite` на `PostgreSQL` для более серьёзной конкурентной нагрузки и дальнейшего масштабирования.
|
||||
|
||||
### dao_запуск
|
||||
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
# Переход с SQLite на PostgreSQL
|
||||
|
||||
## Зачем
|
||||
|
||||
Текущая серверная база на `SQLite` удобна для простого односерверного режима, но она хуже подходит для большого числа параллельных записей, роста нагрузки и дальнейшего масштабирования сервера.
|
||||
|
||||
`PostgreSQL` нужен как следующий уровень серверной БД для более надёжной конкурентной записи, более предсказуемой работы под нагрузкой и дальнейшего роста проекта.
|
||||
|
||||
## Что сделать
|
||||
|
||||
- Подготовить план переноса серверной БД с `SQLite` на `PostgreSQL`.
|
||||
- Найти все места, где код завязан на особенности `SQLite`.
|
||||
- Проверить все DAO и SQL-запросы на совместимость с `PostgreSQL`.
|
||||
- Продумать схему миграции существующей production/test базы без потери данных.
|
||||
- Отдельно проверить транзакции, `UPSERT`, индексы, case-insensitive сравнения и миграции схемы.
|
||||
- После этого подготовить отдельный этап внедрения и переключения сервера.
|
||||
|
||||
## Что уже есть в коде
|
||||
|
||||
- Доступ к БД в основном проходит через DAO-слой, а не полностью размазан по проекту.
|
||||
- Основная серверная логика уже разделена по модулям.
|
||||
- Но SQL и миграции сейчас написаны под `SQLite` и потребуют отдельного прохода.
|
||||
|
||||
## Откуда продолжать
|
||||
|
||||
- Начать с инвентаризации всех DAO и схемы БД.
|
||||
- После этого сделать отдельный документ с оценкой объёма работ по переносу.
|
||||
- Затем решить, будет ли это:
|
||||
- полный перевод сервера на `PostgreSQL`;
|
||||
- или поддержка двух драйверов на переходный период.
|
||||
|
||||
## Что потом обновить
|
||||
|
||||
- Серверную документацию по БД и миграциям.
|
||||
- Инструкции по локальному запуску сервера.
|
||||
- Скрипты деплоя и настройки окружения.
|
||||
Reference in New Issue
Block a user