2.8 KiB
2.8 KiB
Пример приложения для работы с БД
Небольшое десктоп-приложение на PyQt5 для работы с PostgreSQL, Neo4j и Apache AGE.
Стек
- PyQt5 — графический интерфейс
- PostgreSQL (psycopg2) — реляционная БД для пользователей
- Neo4j — графовая БД для фильмов
- Apache AGE — графовая модель поверх PostgreSQL для фильмов
- python-dotenv — загрузка параметров подключения из файла
.env
Скриншоты
PostgreSQL:
Neo4j:
Требования
- Python 3.10+
- Установленный PostgreSQL и доступ к серверу БД
- Установленный Neo4j и загруженный обучающий граф фильмов (Movie Graph example)
- Для Apache AGE: установленное расширение
ageв PostgreSQL и доступ к базе, где оно включено
Настройка окружения
-
Переименовать файл примера переменных окружения
.env_exampleв.env:Затем откройте
.envи при необходимости измените значения:
POSTGRES_USER=postgres
POSTGRES_DB=university
POSTGRES_PASS=your_password
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
NEO_ACTIVE=false # включить Neo4j-часть приложения, установив true
NEO_USER=neo4j
NEO_PASS=your_password
NEO_HOST=neo4j://localhost:7687
AGE_ACTIVE=false # включить Apache AGE, установив true
AGE_USER=postgres
AGE_PASS=your_password
AGE_HOST=localhost
AGE_PORT=5432
AGE_DB=university
AGE_GRAPH_NAME=movie_graph
- Создайте и активируйте виртуальное окружение:
Windows, PowerShell:
cd C:\Users\Litoq\Documents\Projects\db_example_app
py -m venv .venv
.\.venv\Scripts\Activate.ps1
Linux, bash:
cd ~/Projects/db_example_app
python3 -m venv .venv
source .venv/bin/activate
- Установите зависимости:
pip install -r requirements.txt
Запуск приложения
В активированном виртуальном окружении выполните:
py main.py
Приложение подключится к PostgreSQL, создаст БД/таблицу и тестовые данные (если их еще нет), выполнит запрос к Neo4j (если активно) и/или к Apache AGE (если активно), а затем отобразит результаты в отдельных окнах.

