35 lines
No EOL
1.3 KiB
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; |