-- Software packages table for uploaded installers CREATE TABLE software_packages ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), organization_id UUID NOT NULL REFERENCES organizations(id), name VARCHAR(255) NOT NULL, description TEXT, version VARCHAR(100) NOT NULL, package_type VARCHAR(50) NOT NULL, platform VARCHAR(50) NOT NULL, architecture VARCHAR(50) NOT NULL, filename VARCHAR(500) NOT NULL, file_size BIGINT NOT NULL, checksum VARCHAR(255), install_command TEXT, tags JSONB NOT NULL DEFAULT '[]', metadata JSONB NOT NULL DEFAULT '{}', uploaded_by_user_id UUID NOT NULL REFERENCES users(id), created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW(), updated_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW() ); CREATE INDEX idx_software_packages_org ON software_packages(organization_id); CREATE INDEX idx_software_packages_platform ON software_packages(platform); CREATE INDEX idx_software_packages_name ON software_packages(name);