# Database Seeds - OrbiQuant IA ## Estructura ``` seeds/ ├── dev/ # Seeds para desarrollo │ ├── auth/ │ │ ├── 01-admin-user.sql # Admin users (admin123) │ │ └── 02-test-users.sql # Test users (test1234) │ ├── trading/ │ │ └── 01-symbols.sql # Forex, Metals, Crypto symbols │ ├── investment/ │ │ └── 01-products.sql # PAMM products (Atlas, Orion, Nova) │ ├── financial/ │ │ └── 01-subscription-config.sql # Plan features & pricing │ ├── education/ # (Future: demo courses) │ └── ml/ # (Future: model registry) ├── prod/ # Seeds para producción │ ├── trading/ │ │ └── 01-symbols.sql # Same as dev │ ├── investment/ │ │ └── 01-products.sql # Same as dev │ └── financial/ │ └── 01-subscription-config.sql ├── load-seeds.sh # Script para cargar seeds └── README.md # Este archivo ``` ## Uso ### Cargar seeds de desarrollo ```bash cd apps/database/seeds ./load-seeds.sh dev ``` ### Cargar seeds de producción ```bash ./load-seeds.sh prod ``` ### Variables de entorno ```bash export DB_HOST=localhost export DB_PORT=5432 export DB_NAME=orbiquant_trading export DB_USER=orbiquant_user export DB_PASSWORD=your_password ./load-seeds.sh dev ``` ## Seeds Disponibles ### Auth (solo dev) | Archivo | Descripción | Password | |---------|-------------|----------| | 01-admin-user.sql | Admin users | `admin123` | | 02-test-users.sql | Test users con diferentes roles | `test1234` | **Usuarios creados:** - `admin@orbiquant.io` (super_admin) - `dev@orbiquant.io` (admin) - `trader1@test.com`, `trader2@test.com` (trader) - `analyst@test.com` (analyst) - `user@test.com` (user) - `unverified@test.com` (pending_verification) ### Trading | Archivo | Descripción | |---------|-------------| | 01-symbols.sql | Símbolos de trading | **Símbolos incluidos:** - **Forex:** EURUSD, GBPUSD, USDJPY, USDCHF, AUDUSD, USDCAD, NZDUSD - **Metals:** XAUUSD (Gold), XAGUSD (Silver) - **Crypto:** BTCUSDT, ETHUSDT, SOLUSDT ### Investment | Archivo | Descripción | |---------|-------------| | 01-products.sql | Productos PAMM | **Productos:** | Código | Agente | Min Investment | Target Mensual | |--------|--------|----------------|----------------| | PAMM-ATLAS | atlas | $200 | 3-5% | | PAMM-ORION | orion | $500 | 5-10% | | PAMM-NOVA | nova | $1,000 | 10-15% | ### Financial | Archivo | Descripción | |---------|-------------| | 01-subscription-config.sql | Configuración de planes | **Planes:** | Plan | Precio/mes | Features principales | |------|------------|---------------------| | Free | $0 | Paper trading, 3 señales/día | | Basic | $19 | Atlas agent, 10 señales/día | | Pro | $49 | 3 agents, LLM copilot | | Premium | $99 | API access, unlimited | | Enterprise | Custom | White label, SLA | ## Notas Importantes 1. **Passwords de desarrollo** - Los passwords en seeds de dev son solo para testing. NUNCA usar en producción. 2. **Orden de ejecución** - El script `load-seeds.sh` ejecuta los seeds en orden: 1. auth 2. trading 3. investment 4. financial 5. education 6. ml 3. **Idempotencia** - Los seeds usan `ON CONFLICT DO UPDATE` o `DO NOTHING` para ser re-ejecutables. 4. **UUIDs fijos** - Se usan UUIDs predefinidos para facilitar referencias entre tablas y testing. ## Contribuir Seeds Al agregar nuevos seeds: 1. Seguir nomenclatura: `NN-descripcion.sql` 2. Usar `ON CONFLICT` para idempotencia 3. Agregar comentarios descriptivos 4. Incluir `RAISE NOTICE` al final para logging 5. Actualizar este README --- *Última actualización: 2025-12-12* *Tech Leader Agent*