-- Add sales and sale_items tables for tracking transactions CREATE TABLE sales ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), customer_id UUID REFERENCES customers(id) ON DELETE SET NULL, total_amount INTEGER NOT NULL DEFAULT 0, notes TEXT, created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE sale_items ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), sale_id UUID NOT NULL REFERENCES sales(id) ON DELETE CASCADE, filament_id UUID NOT NULL REFERENCES filaments(id) ON DELETE RESTRICT, item_type VARCHAR(10) NOT NULL CHECK (item_type IN ('refill', 'spulna')), quantity INTEGER NOT NULL DEFAULT 1 CHECK (quantity > 0), unit_price INTEGER NOT NULL, created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP ); CREATE INDEX idx_sales_customer_id ON sales (customer_id); CREATE INDEX idx_sales_created_at ON sales (created_at); CREATE INDEX idx_sale_items_sale_id ON sale_items (sale_id); CREATE INDEX idx_sale_items_filament_id ON sale_items (filament_id);