stock-bot/database/postgres/init/05-add-visible-column.sql

35 lines
No EOL
1.3 KiB
SQL

-- Add visible column to exchanges table
-- Connect to trading_bot database
\c trading_bot;
-- Add visible column to exchanges table with default true
ALTER TABLE exchanges
ADD COLUMN IF NOT EXISTS visible BOOLEAN DEFAULT true;
-- Update existing records to be visible by default
UPDATE exchanges SET visible = true WHERE visible IS NULL;
-- Create index for visibility filtering
CREATE INDEX IF NOT EXISTS idx_exchanges_visible ON exchanges(visible);
-- Update the exchange_provider_summary view to include visibility
CREATE OR REPLACE VIEW exchange_provider_summary AS
SELECT
e.code as master_code,
e.name as master_name,
e.country,
e.currency,
e.active as master_active,
e.visible as master_visible,
COUNT(pem.id) as provider_mappings,
COUNT(CASE WHEN pem.active = true THEN 1 END) as active_mappings,
COUNT(CASE WHEN pem.verified = true THEN 1 END) as verified_mappings,
STRING_AGG(DISTINCT pem.provider, ', ') as providers
FROM exchanges e
LEFT JOIN provider_exchange_mappings pem ON e.id = pem.master_exchange_id
WHERE e.visible = true -- Only show visible exchanges in summary
GROUP BY e.id, e.code, e.name, e.country, e.currency, e.active, e.visible
ORDER BY e.code;
-- Show what we created
SELECT 'Added visible column to exchanges table' as status;