Skip to content

Database Schema Overview

PostgreSQL Extensions

sql
-- Enable required extensions
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
CREATE EXTENSION IF NOT EXISTS "ltree";

Schema Separation

sql
-- Schemas for module separation
CREATE SCHEMA core;       -- Users, auth, common
CREATE SCHEMA mlm;        -- Partners, commissions, ranks
CREATE SCHEMA investment; -- Strategies, participations
CREATE SCHEMA product;    -- Products, orders, cart

Key Tables by Schema

Core Schema

  • core.users - Base user identity
  • core.user_profiles - Extended user data
  • core.kyc_verifications - KYC documents and status
  • core.auth_methods - Login methods (email, social)
  • core.sessions - Active sessions
  • core.roles / core.permissions - RBAC

MLM Schema (Most Complex)

  • mlm.partners - Partner records with tree position
  • mlm.partner_tree_paths - Closure table for tree queries
  • mlm.referral_links - Unique referral links
  • mlm.referral_attributions - Who referred whom
  • mlm.commission_plans - Commission plan definitions
  • mlm.commission_tiers - Per-level commission rates
  • mlm.commission_transactions - Earned commissions
  • mlm.ranks - Rank definitions
  • mlm.rank_requirements - Rank qualification rules
  • mlm.partner_balances - Available/pending balances
  • mlm.payout_requests - Withdrawal requests
  • mlm.reward_distribution_configs - Career points vs money routing

Investment Schema

  • investment.strategies - Investment strategy catalog
  • investment.strategy_categories - Category hierarchy
  • investment.participation_steps - Wizard step definitions
  • investment.participations - User participation records
  • investment.portfolios - Active investments

Product Schema

  • product.products - Product catalog
  • product.categories - Category hierarchy (ltree)
  • product.carts - Shopping carts
  • product.orders - Orders
  • product.order_items - Line items
  • product.payments - Payment records
  • product.shipments - Delivery tracking