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