← back to Commercialrealestate

scripts/db/listing-signals-migration.sql

20 lines

-- Real Redfin listing signals (was discarding these): days_on_market + market_status from the feed,
-- derived listed_date (gap-immune "just listed"), and prev_market_status for escrow transitions.
DO $$
DECLARE t text;
BEGIN
  FOREACH t IN ARRAY ARRAY['sfr','condo'] LOOP
    EXECUTE format('ALTER TABLE %I ADD COLUMN IF NOT EXISTS days_on_market int', t);
    EXECUTE format('ALTER TABLE %I ADD COLUMN IF NOT EXISTS listed_date date', t);
    EXECUTE format('ALTER TABLE %I ADD COLUMN IF NOT EXISTS market_status text', t);
    EXECUTE format('ALTER TABLE %I ADD COLUMN IF NOT EXISTS prev_market_status text', t);
  END LOOP;
END $$;
CREATE OR REPLACE VIEW condo_card AS
 SELECT c.id, c.address, c.city, c.zip, c.price, c.hoa, c.beds, c.baths, c.sqft, c.year_built,
        c.project_name, c.warrantable_status, c.warrant_source, c.warrant_signals, c.broker_name,
        COALESCE(c.firm_name, f.name) AS firm_name, c.source, c.created_at,
        c.status, c.last_seen, c.off_market_at, c.disposition, c.sold_price, c.sold_date,
        c.days_on_market, c.listed_date, c.market_status, c.prev_market_status
   FROM condo c LEFT JOIN firm f ON f.id = c.firm_id;