-- Add sale fields to filaments table ALTER TABLE filaments ADD COLUMN IF NOT EXISTS sale_percentage INTEGER DEFAULT 0 CHECK (sale_percentage >= 0 AND sale_percentage <= 100), ADD COLUMN IF NOT EXISTS sale_active BOOLEAN DEFAULT FALSE, ADD COLUMN IF NOT EXISTS sale_start_date TIMESTAMP WITH TIME ZONE, ADD COLUMN IF NOT EXISTS sale_end_date TIMESTAMP WITH TIME ZONE; -- Add indexes for better performance CREATE INDEX IF NOT EXISTS idx_filaments_sale_active ON filaments(sale_active) WHERE sale_active = TRUE; CREATE INDEX IF NOT EXISTS idx_filaments_sale_dates ON filaments(sale_start_date, sale_end_date) WHERE sale_active = TRUE;