From 224b867737005ebb32e8f71cd099fb8baa5740a2 Mon Sep 17 00:00:00 2001 From: Jeremy Long Date: Sat, 11 Jan 2014 12:33:57 -0500 Subject: [PATCH] added MySQL Initialization script Former-commit-id: a7a13d60769a794a9c4859c0df86d4576381c738 --- .../main/resources/data/initialize_mysql.sql | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 dependency-check-core/src/main/resources/data/initialize_mysql.sql diff --git a/dependency-check-core/src/main/resources/data/initialize_mysql.sql b/dependency-check-core/src/main/resources/data/initialize_mysql.sql new file mode 100644 index 000000000..808eb12db --- /dev/null +++ b/dependency-check-core/src/main/resources/data/initialize_mysql.sql @@ -0,0 +1,40 @@ + +#DROP USER 'dcuser'; +#DROP database dependencycheck; + +CREATE database dependencycheck; +USE dependencycheck; + +DROP TABLE IF EXISTS software; +DROP TABLE IF EXISTS cpeEntry; +DROP TABLE IF EXISTS reference; +DROP TABLE IF EXISTS vulnerability; +DROP TABLE IF EXISTS properties; + +CREATE TABLE properties (id varchar(50) PRIMARY KEY, value varchar(500)); + +CREATE TABLE vulnerability (id int auto_increment PRIMARY KEY, cve VARCHAR(20) UNIQUE, + description VARCHAR(8000), cwe VARCHAR(10), cvssScore DECIMAL(3,1), cvssAccessVector VARCHAR(20), + cvssAccessComplexity VARCHAR(20), cvssAuthentication VARCHAR(20), cvssConfidentialityImpact VARCHAR(20), + cvssIntegrityImpact VARCHAR(20), cvssAvailabilityImpact VARCHAR(20)); + +CREATE TABLE reference (cveid INT, name VARCHAR(1000), url VARCHAR(1000), source VARCHAR(255), + CONSTRAINT fkReference FOREIGN KEY (cveid) REFERENCES vulnerability(id) ON DELETE CASCADE); + +CREATE TABLE cpeEntry (id INT auto_increment PRIMARY KEY, cpe VARCHAR(250), vendor VARCHAR(255), product VARCHAR(255)); + +CREATE TABLE software (cveid INT, cpeEntryId INT, previousVersion VARCHAR(50) + , CONSTRAINT fkSoftwareCve FOREIGN KEY (cveid) REFERENCES vulnerability(id) ON DELETE CASCADE + , CONSTRAINT fkSoftwareCpeProduct FOREIGN KEY (cpeEntryId) REFERENCES cpeEntry(id)); + +CREATE INDEX idxVulnerability ON vulnerability(cve); +CREATE INDEX idxReference ON reference(cveid); +CREATE INDEX idxCpe ON cpeEntry(cpe); +CREATE INDEX idxCpeEntry ON cpeEntry(vendor, product); +CREATE INDEX idxSoftwareCve ON software(cveid); +CREATE INDEX idxSoftwareCpe ON software(cpeEntryId); + +INSERT INTO properties(id,value) VALUES ('version','2.8'); + +CREATE USER 'dcuser' IDENTIFIED BY 'DC-Pass1337!'; +GRANT SELECT, INSERT, DELETE, UPDATE ON dependencycheck.* TO 'dcuser'; \ No newline at end of file