-- Products table CREATE TABLE products ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), organization_id UUID NOT NULL REFERENCES organizations(id) ON DELETE CASCADE, category_id UUID NOT NULL REFERENCES categories(id) ON DELETE CASCADE, sku VARCHAR(100), name VARCHAR(255) NOT NULL, description TEXT, price DECIMAL(10,2) NOT NULL CHECK (price >= 0), cost DECIMAL(10,2) DEFAULT 0.00 CHECK (cost >= 0), business_type VARCHAR(50) DEFAULT 'restaurant', metadata JSONB DEFAULT '{}', is_active BOOLEAN DEFAULT TRUE, created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(), updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW() ); -- Indexes CREATE INDEX idx_products_organization_id ON products(organization_id); CREATE INDEX idx_products_category_id ON products(category_id); CREATE INDEX idx_products_sku ON products(sku); CREATE INDEX idx_products_business_type ON products(business_type); CREATE INDEX idx_products_is_active ON products(is_active); CREATE INDEX idx_products_created_at ON products(created_at);