diff --git a/sql/schema.sql b/sql/schema.sql index 58150b5..21204e3 100644 --- a/sql/schema.sql +++ b/sql/schema.sql @@ -10,9 +10,18 @@ CREATE TABLE IF NOT EXISTS affected_packages ( CREATE INDEX IF NOT EXISTS idx_affected_vuln ON affected_packages(vulnerability_id); CREATE INDEX IF NOT EXISTS idx_affected_package ON affected_packages(ecosystem,package_name); CREATE TABLE IF NOT EXISTS cpe_matches ( - id TEXT PRIMARY KEY, vulnerability_id TEXT NOT NULL REFERENCES vulnerabilities(id) ON DELETE CASCADE, - criteria TEXT, vulnerable INTEGER, version_start_including TEXT, version_start_excluding TEXT, - version_end_including TEXT, version_end_excluding TEXT, source TEXT NOT NULL); + id TEXT PRIMARY KEY, + vulnerability_id TEXT NOT NULL + REFERENCES vulnerabilities(id) ON DELETE CASCADE, + node_id TEXT REFERENCES cpe_nodes(id), + criteria TEXT, + vulnerable INTEGER, + version_start_including TEXT, + version_start_excluding TEXT, + version_end_including TEXT, + version_end_excluding TEXT, + source TEXT NOT NULL +); CREATE INDEX IF NOT EXISTS idx_cpe_vuln ON cpe_matches(vulnerability_id); CREATE TABLE IF NOT EXISTS cpe_nodes ( id TEXT PRIMARY KEY, @@ -29,8 +38,6 @@ CREATE TABLE IF NOT EXISTS cpe_nodes ( CREATE INDEX IF NOT EXISTS idx_cpe_nodes_vuln ON cpe_nodes(vulnerability_id); -ALTER TABLE cpe_matches -ADD COLUMN node_id TEXT REFERENCES cpe_nodes(id); CREATE INDEX IF NOT EXISTS idx_cpe_matches_node ON cpe_matches(node_id);