Перейти к содержанию

Storage & Database Module

Обзор

Модуль хранения данных обеспечивает persistent storage через PostgreSQL с использованием Repository pattern и строгой типизацией.

Основные компоненты

Database Schema

  • users: Пользовательские аккаунты
  • wallets: Blockchain кошельки (BIP44)
  • transactions: История транзакций (APPEND-ONLY)
  • investments: Инвестиционные позиции
  • withdrawals: Запросы на вывод средств
  • sessions: JWT сессии

Repository Architecture

  • Clean Architecture принципы
  • Interface-based design
  • Canonical repositories
  • Transaction management

Ключевые файлы

backend/storage/
├── repository/
│   ├── canonical/
│   │   └── user_repository.go       # Canonical user operations
│   ├── wallet_repository.go         # Wallet management
│   ├── transaction_repository.go    # Transaction history
│   └── withdrawal_repository.go     # Withdrawal processing
└── migrations/
    └── *.up.sql                     # Database migrations

💾 Database Principles

  • PostgreSQL: Единая база "saga"
  • SafeDecimal: Финансовые операции
  • JSONB: Structured metadata
  • Migrations: Versioned schema evolution
  • Transactions: ACID гарантии

Data Integrity

  • Foreign keys constraints
  • Unique constraints (email, wallet addresses)
  • NOT NULL для критичных полей
  • Index optimization
  • Audit trail (created_at, updated_at)

Связанная документация




📋 Метаданные

Версия: 2.4.82

Обновлено: 2025-10-21

Статус: Published