Files
cannaiq/backend/migrations/036_findadispo_dispensary_fields.sql
Kelly a0f8d3911c feat: Add Findagram and FindADispo consumer frontends
- Add findagram.co React frontend with product search, brands, categories
- Add findadispo.com React frontend with dispensary locator
- Wire findagram to backend /api/az/* endpoints
- Update category/brand links to route to /products with filters
- Add k8s manifests for both frontends
- Add multi-domain user support migrations

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 16:10:15 -07:00

48 lines
2.2 KiB
SQL

-- Migration 036: Add fields for findadispo.com frontend
-- These fields are needed for the consumer-facing dispensary locator UI
-- This migration is idempotent - safe to run multiple times
-- Add hours as JSONB to support structured hours data
-- Example: {"monday": {"open": "09:00", "close": "21:00"}, "tuesday": {...}, ...}
-- Or simple: {"formatted": "Mon-Sat 9am-9pm, Sun 10am-6pm"}
DO $$
BEGIN
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_name = 'dispensaries' AND column_name = 'hours') THEN
ALTER TABLE dispensaries ADD COLUMN hours JSONB DEFAULT NULL;
END IF;
END $$;
-- Add amenities as TEXT array
-- Example: ['Wheelchair Accessible', 'ATM', 'Online Ordering', 'Curbside Pickup', 'Delivery']
DO $$
BEGIN
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_name = 'dispensaries' AND column_name = 'amenities') THEN
ALTER TABLE dispensaries ADD COLUMN amenities TEXT[] DEFAULT '{}';
END IF;
END $$;
-- Add description for the "About" section on dispensary detail pages
DO $$
BEGIN
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_name = 'dispensaries' AND column_name = 'description') THEN
ALTER TABLE dispensaries ADD COLUMN description TEXT DEFAULT NULL;
END IF;
END $$;
-- Add image_url for the main dispensary hero image
DO $$
BEGIN
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_name = 'dispensaries' AND column_name = 'image_url') THEN
ALTER TABLE dispensaries ADD COLUMN image_url TEXT DEFAULT NULL;
END IF;
END $$;
-- Add indexes for filtering (IF NOT EXISTS is supported for indexes in PG 9.5+)
CREATE INDEX IF NOT EXISTS idx_dispensaries_amenities ON dispensaries USING GIN (amenities);
-- Add comments for documentation (COMMENT is idempotent - re-running just updates the comment)
COMMENT ON COLUMN dispensaries.hours IS 'Store hours in JSONB format. Can be structured by day or formatted string.';
COMMENT ON COLUMN dispensaries.amenities IS 'Array of amenity tags like Wheelchair Accessible, ATM, Online Ordering, etc.';
COMMENT ON COLUMN dispensaries.description IS 'Description text for dispensary detail page About section.';
COMMENT ON COLUMN dispensaries.image_url IS 'URL to main dispensary image for hero/card display.';