Обзор схемы базы данных
Расширения PostgreSQL
sql
-- Включение необходимых расширений
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
CREATE EXTENSION IF NOT EXISTS "ltree";Разделение схем
sql
-- Схемы для разделения модулей
CREATE SCHEMA core; -- Пользователи, аутентификация, общее
CREATE SCHEMA mlm; -- Партнёры, комиссии, ранги
CREATE SCHEMA investment; -- Стратегии, участия
CREATE SCHEMA product; -- Товары, заказы, корзинаОсновные таблицы по схемам
Схема Core
core.users- Базовая идентификация пользователяcore.user_profiles- Расширенные данные пользователяcore.kyc_verifications- KYC-документы и статусcore.auth_methods- Методы входа (email, социальные сети)core.sessions- Активные сессииcore.roles/core.permissions- RBAC
Схема MLM (наиболее сложная)
mlm.partners- Записи партнёров с позицией в деревеmlm.partner_tree_paths- Closure table для запросов по деревуmlm.referral_links- Уникальные реферальные ссылкиmlm.referral_attributions- Кто кого привёлmlm.commission_plans- Определения комиссионных плановmlm.commission_tiers- Процентные ставки по уровнямmlm.commission_transactions- Начисленные комиссииmlm.ranks- Определения ранговmlm.rank_requirements- Правила квалификации на рангmlm.partner_balances- Доступный/ожидающий балансmlm.payout_requests- Запросы на вывод средствmlm.reward_distribution_configs- Распределение карьерных баллов vs денег
Схема Investment
investment.strategies- Каталог инвестиционных стратегийinvestment.strategy_categories- Иерархия категорийinvestment.participation_steps- Определения шагов визардаinvestment.participations- Записи участия пользователейinvestment.portfolios- Активные инвестиции
Схема Product
product.products- Каталог товаровproduct.categories- Иерархия категорий (ltree)product.carts- Корзины покупокproduct.orders- Заказыproduct.order_items- Позиции заказаproduct.payments- Записи платежейproduct.shipments- Отслеживание доставки