.assets Add planuml 10 months ago
gradle/ wrapper Add pivot project 10 months ago
src/ main Add pivot project 10 months ago
.gitignore Add pivot project 10 months ago
README.MD Add pivot project 10 months ago
build.gradle Add pivot project 10 months ago
gradle.properties Add pivot project 10 months ago
gradlew Add pivot project 10 months ago
gradlew.bat Add pivot project 10 months ago
settings.gradle Add pivot project 10 months ago
README.MD

Примеры вызовов (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"

Доступ к 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

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 |