Some checks failed
Deploy to Test Environment / deploy-to-test (push) Has been cancelled
40 lines
2.1 KiB
SQL
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.';
|