Some checks failed
CI Pipeline / changes (push) Has been cancelled
CI Pipeline / core (push) Has been cancelled
CI Pipeline / trading-backend (push) Has been cancelled
CI Pipeline / trading-data-service (push) Has been cancelled
CI Pipeline / trading-frontend (push) Has been cancelled
CI Pipeline / erp-core (push) Has been cancelled
CI Pipeline / erp-mecanicas (push) Has been cancelled
CI Pipeline / gamilit-backend (push) Has been cancelled
CI Pipeline / gamilit-frontend (push) Has been cancelled
2.5 KiB
2.5 KiB
Base de Datos - ERP Retail/POS
Resumen
| Aspecto | Valor |
|---|---|
| Schema principal | retail |
| Tablas específicas | 16 |
| ENUMs | 6 |
| Hereda de ERP-Core | 144 tablas (12 schemas) |
Prerequisitos
- ERP-Core instalado con todos sus schemas
- Extensiones PostgreSQL: pg_trgm
Orden de Ejecución DDL
# 1. Instalar ERP-Core primero
cd apps/erp-core/database
./scripts/reset-database.sh
# 2. Instalar extensión Retail
cd apps/verticales/retail/database
psql $DATABASE_URL -f init/00-extensions.sql
psql $DATABASE_URL -f init/01-create-schemas.sql
psql $DATABASE_URL -f init/02-rls-functions.sql
psql $DATABASE_URL -f init/03-retail-tables.sql
Tablas Implementadas
Schema: retail (16 tablas)
| Tabla | Módulo | Descripción |
|---|---|---|
| branches | RT-002 | Sucursales |
| cash_registers | RT-001 | Cajas registradoras |
| pos_sessions | RT-001 | Sesiones de POS |
| pos_orders | RT-001 | Ventas/Órdenes |
| pos_order_lines | RT-001 | Líneas de venta |
| pos_payments | RT-001 | Pagos (mixtos) |
| cash_movements | RT-001 | Entradas/salidas efectivo |
| branch_stock | RT-002 | Stock por sucursal |
| stock_transfers | RT-002 | Transferencias |
| stock_transfer_lines | RT-002 | Líneas de transferencia |
| product_barcodes | RT-003 | Códigos de barras |
| promotions | RT-003 | Promociones |
| promotion_products | RT-003 | Productos en promo |
| loyalty_programs | RT-004 | Programas fidelización |
| loyalty_cards | RT-004 | Tarjetas |
| loyalty_transactions | RT-004 | Transacciones puntos |
ENUMs
| Enum | Valores |
|---|---|
| pos_session_status | opening, open, closing, closed |
| pos_order_status | draft, paid, done, cancelled, refunded |
| payment_method | cash, card, transfer, credit, mixed |
| cash_movement_type | in, out |
| transfer_status | draft, pending, in_transit, received, cancelled |
| promotion_type | percentage, fixed_amount, buy_x_get_y, bundle |
Row Level Security
Todas las tablas tienen RLS con:
tenant_id = current_setting('app.current_tenant_id', true)::UUID
Consideraciones Especiales
- Operación offline: POS puede operar sin conexión
- Rendimiento: <100ms por transacción
- Hardware: Integración con impresoras y lectores
- CFDI 4.0: Facturación en tiempo real