trading-platform-database-v2/ddl/schemas/trading/tables/02-watchlists.sql
rckrdmrd 45e77e9a9c feat: Initial commit - Database schemas and scripts
DDL schemas for Trading Platform:
- User management
- Authentication
- Payments
- Education
- ML predictions
- Trading data

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 04:30:23 -06:00

41 lines
1.4 KiB
SQL

-- ============================================================================
-- Schema: trading
-- Table: watchlists
-- Description: Listas de seguimiento personalizadas de usuarios
-- Dependencies: auth.users
-- ============================================================================
CREATE TABLE trading.watchlists (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
-- Propietario
user_id UUID NOT NULL REFERENCES auth.users(id) ON DELETE CASCADE,
-- Configuración
name VARCHAR(100) NOT NULL,
description TEXT,
-- Ordenamiento
display_order INTEGER DEFAULT 0,
-- Estado
is_default BOOLEAN DEFAULT false,
is_public BOOLEAN DEFAULT false,
-- Timestamps
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
-- Constraint: nombre único por usuario
CONSTRAINT uq_watchlists_user_name UNIQUE (user_id, name)
);
-- Índices
CREATE INDEX idx_watchlists_user ON trading.watchlists(user_id);
CREATE INDEX idx_watchlists_user_default ON trading.watchlists(user_id, is_default) WHERE is_default = true;
-- Comentarios
COMMENT ON TABLE trading.watchlists IS 'Listas de seguimiento personalizadas de símbolos';
COMMENT ON COLUMN trading.watchlists.is_default IS 'Indica si es la watchlist por defecto del usuario';
COMMENT ON COLUMN trading.watchlists.is_public IS 'Indica si la watchlist es visible públicamente';