Files
flyer-crawler.projectium.com/sql/migrations/004_receipt_items_enhancements.sql
Torben Sorensen 3c63e1ecbb
Some checks failed
Deploy to Test Environment / deploy-to-test (push) Has been cancelled
more new feature fixes + sentry logging
2026-01-12 16:04:09 -08:00

40 lines
2.1 KiB
SQL

-- Migration: 004_receipt_items_enhancements.sql
-- Description: Add additional columns to receipt_items for better receipt processing
-- Created: 2026-01-12
-- Add line_number column for ordering items on receipt
ALTER TABLE public.receipt_items
ADD COLUMN IF NOT EXISTS line_number INTEGER;
COMMENT ON COLUMN public.receipt_items.line_number IS 'Line number on the receipt for ordering items.';
-- Add match_confidence column for tracking matching confidence scores
ALTER TABLE public.receipt_items
ADD COLUMN IF NOT EXISTS match_confidence NUMERIC(5,4);
ALTER TABLE public.receipt_items
ADD CONSTRAINT receipt_items_match_confidence_check
CHECK (match_confidence IS NULL OR (match_confidence >= 0 AND match_confidence <= 1));
COMMENT ON COLUMN public.receipt_items.match_confidence IS 'Confidence score (0.0-1.0) when matching to master_item or product.';
-- Add is_discount column to identify discount/coupon line items
ALTER TABLE public.receipt_items
ADD COLUMN IF NOT EXISTS is_discount BOOLEAN DEFAULT FALSE NOT NULL;
COMMENT ON COLUMN public.receipt_items.is_discount IS 'Whether this line item represents a discount or coupon.';
-- Add unit_price_cents column for items sold by weight/volume
ALTER TABLE public.receipt_items
ADD COLUMN IF NOT EXISTS unit_price_cents INTEGER;
ALTER TABLE public.receipt_items
ADD CONSTRAINT receipt_items_unit_price_cents_check
CHECK (unit_price_cents IS NULL OR unit_price_cents >= 0);
COMMENT ON COLUMN public.receipt_items.unit_price_cents IS 'Price per unit in cents (for items sold by weight/volume).';
-- Add unit_type column for unit of measurement
ALTER TABLE public.receipt_items
ADD COLUMN IF NOT EXISTS unit_type TEXT;
COMMENT ON COLUMN public.receipt_items.unit_type IS 'Unit of measurement (e.g., lb, kg, each) for unit-priced items.';
-- Add added_to_pantry column to track pantry additions
ALTER TABLE public.receipt_items
ADD COLUMN IF NOT EXISTS added_to_pantry BOOLEAN DEFAULT FALSE NOT NULL;
COMMENT ON COLUMN public.receipt_items.added_to_pantry IS 'Whether this item has been added to the user pantry inventory.';