feat: Add daily baseline payload logic (12:01 AM - 3:00 AM window)
- Replace saveRawPayload with saveDailyBaseline in all handlers - Full payloads only saved once per day per store during window - Inventory snapshots still saved every crawl (lightweight tracking) - Add last_baseline_at column to dispensaries table - Show baseline status in Per-Store Schedules dashboard - Display baseline window info (12:01 AM - 3:00 AM) in UI Reduces storage ~95% for high-frequency stores while maintaining full audit capability via daily baselines. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
13
backend/migrations/120_daily_baseline_tracking.sql
Normal file
13
backend/migrations/120_daily_baseline_tracking.sql
Normal file
@@ -0,0 +1,13 @@
|
||||
-- Migration 120: Daily baseline tracking
|
||||
-- Track when each store's daily baseline payload was last saved
|
||||
-- Part of Real-Time Inventory Tracking feature
|
||||
|
||||
-- Add column to track last baseline save time
|
||||
ALTER TABLE dispensaries ADD COLUMN IF NOT EXISTS last_baseline_at TIMESTAMPTZ DEFAULT NULL;
|
||||
|
||||
-- Index for finding stores that need baselines
|
||||
CREATE INDEX IF NOT EXISTS idx_dispensaries_baseline ON dispensaries(last_baseline_at)
|
||||
WHERE crawl_enabled = TRUE;
|
||||
|
||||
-- Comment
|
||||
COMMENT ON COLUMN dispensaries.last_baseline_at IS 'Timestamp of last daily baseline payload save. Baselines saved once per day between 12:01 AM - 3:00 AM.';
|
||||
Reference in New Issue
Block a user