Приложение для работы с базой
Проект создан для работы в среде предназначен как проект по управлению файлами и базой данных
- Почтовая рассылка
- Просмотр файлов списком и по содержимому
- Опись файлов
Стек
- FastAPI
- PostgreSQL
- Apache Kafka
Общая логика ПО
чтобы отображалось корректно установи mermaid в IDE
graph LR
User((👤 Пользователь)) --> Browser[браузер]
Browser --> Nginx[Nginx]
Nginx --> Uvicorn[Uvicorn]
Uvicorn --> FastAPI[FastAPI]
FastAPI --> App[Бизнес‑логика]
App --> DB[(💾 База данных)]
Способы запуска
- описание
fastapi dev app_main.py - описание
unicorn main:app --reload - описание
python app_main.py - Собрать код для ИИ
python collect.py
- Перезапустить код от пользователя
sudo su - project-data-hub project-data-hub
cd /opt/data/project-data-hub
./restart.sh
# или выйти обратно: exit
Установить зависимости
pip install -r requirements.txt
Alembic
Активируйте виртуальное окружение
.venv\Scripts\activate
Создайте первую миграцию (autogenerate)
alembic revision --autogenerate -m "Initial migration with all schemas"
Примените миграции
alembic upgrade head
Откатите миграции (если нужно)
alembic downgrade -1
Посмотрите историю миграций
alembic history --verbose
Проверьте текущую версию
alembic current
Автоматическая генерация миграции на основе моделей
alembic revision --autogenerate -m "initial migration - create all tables"
Затем примените миграцию:
alembic upgrade head
Запуск прилоежения в фоновом режиме
sudo -u project-data-hub sh -c 'cd /opt/data/project-data-hub && . .venv/bin/activate && nohup uvicorn src.main:app --host 0.0.0.0 --port 8081 > logs/uvicorn.log 2>&1 &'