.assets change metadata 1 month ago
gradle/ wrapper Add pivot project 1 month ago
src/ main change metadata 1 month ago
.gitignore Add pivot project 1 month ago
README.MD change metadata 1 month ago
build.gradle change metadata 1 month ago
gradle.properties Add pivot project 1 month ago
gradlew Add pivot project 1 month ago
gradlew.bat Add pivot project 1 month ago
settings.gradle Add pivot project 1 month ago
README.MD

Доступ к Swagger UI

После запуска приложения:

Swagger UI: http://localhost:8080/swagger-ui.html

OpenAPI JSON: http://localhost:8080/api-docs

OpenAPI YAML: http://localhost:8080/api-docs.yaml

img.png

Примеры вызовов (cURL)

Получить все объекты организации

bash
curl -X GET "http://localhost:8080/api/metadata/objects?orgId=1"

Получить поля объекта Contact

bash
curl -X GET "http://localhost:8080/api/metadata/objects/Contact/fields?orgId=1"

Запустить INSERT бенчмарк (10000 Contact записей)

bash
curl -X POST "http://localhost:8080/api/benchmark/insert?orgId=1&object=Contact&count=10000"

Запустить SELECT бенчмарк

bash
curl -X POST "http://localhost:8080/api/benchmark/select?orgId=1&object=Contact&iterations=10"

Получить количество записей

bash
curl -X GET "http://localhost:8080/api/benchmark/count?orgId=1&object=Contact"

Получить все записи Contact

bash
curl -X GET "http://localhost:8080/api/data/Contact?orgId=1"

UML/ERD схема базы данных Pivot Multitenancy

UML_ERD_схема_таблиц_Pivot_Multitenancy_модели.png

Схема показывает структуру таблиц, сгруппированных по назначению: Metadata (Синие)

organizations — тенанты системы

mt_objects — метаданные объектов (виртуальные таблицы)

mt_fields — метаданные полей с маппингом на flex-слоты

Data Storage (Зелёные)

mt_data — основное хранилище с 50 flex-колонками (value0-value49)

mt_clobs — выносное хранение больших текстов (>4000 символов)

Pivot Indexes (Оранжевые)

mt_indexes — типизированные индексы (string/num/date) для поиска

mt_unique_fields — уникальные индексы с enforce constraint

mt_fallback_index — индекс по Name для быстрого поиска

mt_name_denorm — денормализация имён для гиперссылок

Relationships (Фиолетовые)

mt_relationships — связи parent-child между записями

Audit (Красные)

mt_field_history — история изменений полей

Ключевые связи | Связь | Кардинальность | | -------------------------- | -------------- | | organizations → mt_objects | 1 : N | | organizations → mt_data | 1 : N | | mt_objects → mt_fields | 1 : N | | mt_objects → mt_data | 1 : N | | mt_data → mt_indexes | 1 : N | | mt_data → mt_clobs | 1 : N | | mt_data → mt_field_history | 1 : N | | mt_data ↔ mt_relationships | N : M |