-
Notifications
You must be signed in to change notification settings - Fork 2
Database
В системе StarBank используются две базы данных:
- H2 (файловая база данных) – содержит информацию о транзакциях пользователей.
- PostgreSQL – основная база для хранения динамических правил рекомендаций.
Все параметры подключения можно задать в VM-параметрах при запуске приложения,
или изменить в файле application.properties.
H2 используется только для чтения транзакций пользователей.
При запуске приложения укажите следующие параметры:
-Dh2.datasource.url=jdbc:h2:file:./transaction;DB_CLOSE_DELAY=-1;ACCESS_MODE_DATA=r
Если параметр не указан, используется значение по умолчанию:
application.recommendations-db.url=jdbc:h2:file:./transaction;DB_CLOSE_DELAY=-1;ACCESS_MODE_DATA=r
- Пользователи (USERS)
- Банковские продукты (PRODUCTS)
- Операции пользователей (TRANSACTIONS)
PostgreSQL используется для хранения динамических правил и статистики.
При запуске приложения можно задать строку подключения:
-Dpostgres-url=jdbc:postgresql://localhost:5432/starbank
-Dpostgres-login=postgres
-Dpostgres-passwd=your_password
Если параметры не заданы, используются настройки по умолчанию:
spring.datasource.url=jdbc:postgresql://localhost:5432/starbank
spring.datasource.username=postgres
spring.datasource.password=your_password
spring.datasource.driver-class-name=org.postgresql.Driver-
Через командную строку (CLI):
psql -U postgres CREATE DATABASE starbank; -
Через pgAdmin:
- Откройте pgAdmin.
- Нажмите "Create Database".
- Введите имя starbank и нажмите Save.
При первом запуске проекта в базе PostgreSQL автоматически создаются таблицы
и загружается демо-набор данных, содержащий:
-
Наборы правил (
rule_sets) – правила, определяющие, какие продукты рекомендовать. -
Отдельные правила (
rules) – логические условия для рекомендаций. -
Статистика срабатывания правил (
rule_stats) – сколько раз каждое правило применялось.
При запуске Spring Boot Liquibase автоматически создаст таблицы и заполнит их.
Если вам нужно очистить демо-данные, выполните:
TRUNCATE TABLE rule_stats, rules, rule_sets RESTART IDENTITY CASCADE;- H2 используется для транзакций, PostgreSQL — для правил.
-
Параметры подключения можно задать через VM-аргументы (
-Dpostgres-url=...). -
По умолчанию база PostgreSQL должна называться
starbank. -
Настройки можно изменить в
application.properties.
После настройки перезапустите сервер, и система будет готова к работе!