gecko-dev/webtools/litmus/createdb.sql

190 lines
4.3 KiB
SQL
Executable File

create database litmus;
use litmus;
create table tests (
test_id int(11) not null primary key auto_increment,
subgroup_id smallint(6) not null,
summary varchar(255) not null,
details text,
status_id tinyint(4) not null,
community_enabled boolean,
format_id tinyint(4) not null,
regression_bug_id int(11),
t1 longtext,
t2 longtext,
t3 longtext,
INDEX(subgroup_id),
INDEX(summary),
INDEX(status_id),
INDEX(community_enabled),
INDEX(format_id),
INDEX(regression_bug_id),
INDEX(t1(255)),
INDEX(t2(255)),
INDEX(t3(255))
);
create table test_results (
testresult_id int(11) not null primary key auto_increment,
test_id int(11) not null,
last_updated datetime not null,
submission_time datetime not null,
user_id int(11),
platform_id smallint(6),
opsys_id smallint(6),
branch_id smallint(6),
buildid varchar(45),
user_agent varchar(255),
result_id smallint(6),
log_id int(11),
INDEX (test_id),
INDEX (last_updated),
INDEX (submission_time),
INDEX (user_id),
INDEX (platform_id),
INDEX (opsys_id),
INDEX (branch_id),
INDEX (user_agent),
INDEX (result_id),
INDEX (log_id)
);
create table products (
product_id tinyint not null primary key auto_increment,
name varchar(64) not null,
iconpath varchar(255),
INDEX(name),
INDEX(iconpath)
);
create table test_groups (
testgroup_id smallint(6) not null primary key auto_increment,
product_id tinyint(4) not null,
name varchar(64) not null,
expiration_days smallint(6) not null,
INDEX(product_id),
INDEX(name),
INDEX(expiration_days)
);
create table subgroups (
subgroup_id smallint(6) not null primary key auto_increment,
testgroup_id smallint(6) not null,
name varchar(64) not null,
INDEX(testgroup_id),
INDEX(name)
);
create table test_status_lookup (
test_status_id tinyint(4) not null primary key auto_increment,
name varchar(64) not null,
INDEX(name)
);
create table platforms (
platform_id smallint(6) not null primary key auto_increment,
product_id tinyint(4) not null,
name varchar(64) not null,
detect_regexp varchar(255),
iconpath varchar(255),
INDEX(product_id),
INDEX(name),
INDEX(detect_regexp),
INDEX(iconpath)
);
create table opsyses (
opsys_id smallint(6) not null primary key auto_increment,
platform_id smallint(6) not null,
name varchar(64) not null,
detect_regexp varchar(255),
INDEX(platform_id),
INDEX(name),
INDEX(detect_regexp)
);
create table branches (
branch_id smallint(6) not null primary key auto_increment,
product_id tinyint(4) not null,
name varchar(64) not null,
detect_regexp varchar(255),
INDEX (product_id),
INDEX (name),
INDEX (detect_regexp)
);
create table test_result_status_lookup (
result_status_id smallint(6) not null primary key auto_increment,
name varchar(64) not null,
style varchar(255) not null,
INDEX(name),
INDEX(style)
);
create table users (
user_id int(11) not null primary key auto_increment,
email varchar(255) not null,
is_trusted boolean,
INDEX(email),
INDEX(is_trusted)
);
create table test_format_lookup (
format_id tinyint(4) not null primary key auto_increment,
name varchar(255) not null,
INDEX(name)
);
create table test_result_bugs (
test_result_id int(11) not null auto_increment,
last_updated datetime not null,
submission_time datetime not null,
user_id int(11),
bug_id int(11),
PRIMARY KEY (test_result_id,bug_id),
INDEX(test_result_id),
INDEX(last_updated),
INDEX(submission_time),
INDEX(user_id)
);
create table test_result_comments (
comment_id int(11) not null primary key auto_increment,
test_result_id int(11) not null,
last_updated datetime not null,
submission_time datetime not null,
user_id int(11),
comment text,
INDEX(test_result_id),
INDEX(last_updated),
INDEX(submission_time),
INDEX(user_id)
);
create table test_result_logs (
log_id int(11) not null primary key auto_increment,
test_result_id int(11) not null,
last_updated datetime not null,
submission_time datetime not null,
log_path varchar(255),
INDEX(test_result_id),
INDEX(last_updated),
INDEX(submission_time),
INDEX(log_path)
);