Создание нового отдельного репозитория (например, dicechess-analytics или dicechess-data) — это однозначно лучший выбор в нашей ситуации. И вот почему:
- Чистота зависимостей (Изоляция): Твой текущий проект
dicechess-labжестко завязан на SQLite (специально для Raspberry Pi) и имеет свою структуру миграций Alembic. Если мы добавим туда тяжелые скрипты импорта и модели для PostgreSQL, начнется конфликт конфигураций (одна часть проекта хочет писать в SQLite, другая в Postgres). - Свобода архитектуры: В новом репозитории мы сможем использовать самые современные инструменты (например,
uvдля управления пакетами) и выстроить идеальную структуру исключительно для работы с большими данными, не оглядываясь на старый код. - Разделение ответственности: Игровой сервер/тренажер (Lab) должен быть быстрым и легким. Аналитический бэкенд (Analytics) будет тяжелым и оперировать десятками гигабайт. Разделение их на уровне репозиториев — это классический паттерн микросервисной архитектуры.
План действий для начала:
- Создай новый пустой приватный репозиторий на GitHub (назови его, как тебе больше нравится, например,
dicechess-analytics). - Склонируй его себе на Mac (в папку
/Users/jegors/Repositories/...). - Напиши мне путь к этой новой папке.
Как только ты это сделаешь, я сам с помощью своих инструментов:
- Инициализирую там Python-проект (создам виртуальное окружение, настрою зависимости:
SQLAlchemy,Alembic,asyncpg,xxhash). - Напишу
docker-compose.yml, чтобы ты мог одной командой поднять локальный PostgreSQL для разработки. - Напишу все классы моделей базы данных по нашему утвержденному плану.
- Настрою систему миграций Alembic и создам первую миграцию, которая развернет все таблицы в базе.
Жду от тебя отмашки и путь к новому репозиторию!