New perf dashboard should not duplicate author information in each commit
[WebKit-https.git] / Websites / perf.webkit.org / init-database.sql
index 8f7968cf992b4e6099243713e3c92df192840bf1..f315068da873f0d949961e177b9e5166bdee145b 100644 (file)
@@ -4,6 +4,7 @@ DROP TABLE test_configurations CASCADE;
 DROP TYPE test_configuration_type CASCADE;
 DROP TABLE aggregators CASCADE;
 DROP TABLE builds CASCADE;
+DROP TABLE committers CASCADE;
 DROP TABLE commits CASCADE;
 DROP TABLE build_commits CASCADE;
 DROP TABLE builders CASCADE;
@@ -14,6 +15,12 @@ DROP TABLE tests CASCADE;
 DROP TABLE reports CASCADE;
 DROP TABLE tracker_repositories CASCADE;
 DROP TABLE bug_trackers CASCADE;
+DROP TABLE analysis_tasks CASCADE;
+DROP TABLE bugs CASCADE;
+DROP TABLE analysis_test_groups CASCADE;
+DROP TABLE root_sets CASCADE;
+DROP TABLE build_requests CASCADE;
+
 
 CREATE TABLE platforms (
     platform_id serial PRIMARY KEY,
@@ -51,20 +58,26 @@ CREATE TABLE builds (
     CONSTRAINT builder_build_time_tuple_must_be_unique UNIQUE(build_builder, build_number, build_time));
 CREATE INDEX build_builder_index ON builds(build_builder);
 
+CREATE TABLE committers (
+    committer_id serial PRIMARY KEY,
+    committer_repository integer NOT NULL REFERENCES repositories ON DELETE CASCADE,
+    committer_account varchar(320) NOT NULL,
+    committer_name varchar(128),
+    CONSTRAINT committer_in_repository_must_be_unique UNIQUE(committer_repository, committer_account));
+CREATE INDEX committer_account_index ON committers(committer_account);
+CREATE INDEX committer_name_index ON committers(committer_name);
+
 CREATE TABLE commits (
     commit_id serial PRIMARY KEY,
     commit_repository integer NOT NULL REFERENCES repositories ON DELETE CASCADE,
     commit_revision varchar(64) NOT NULL,
     commit_parent integer REFERENCES commits ON DELETE CASCADE,
     commit_time timestamp,
-    commit_author_name varchar(128),
-    commit_author_email varchar(320),
+    commit_committer integer REFERENCES committers ON DELETE CASCADE,
     commit_message text,
     commit_reported boolean NOT NULL DEFAULT FALSE,
     CONSTRAINT commit_in_repository_must_be_unique UNIQUE(commit_repository, commit_revision));
 CREATE INDEX commit_time_index ON commits(commit_time);
-CREATE INDEX commit_author_name_index ON commits(commit_author_name);
-CREATE INDEX commit_author_email_index ON commits(commit_author_email);
 
 CREATE TABLE build_commits (
     commit_build integer NOT NULL REFERENCES builds ON DELETE CASCADE,