blob: 83ad3b09c64b738f9c388e86ca81ce187780f905 [file] [log] [blame]
jamesren4a41e012010-07-16 22:33:48 +00001UP_SQL = """
2CREATE TABLE afe_test_parameters (
3 id INT PRIMARY KEY AUTO_INCREMENT,
4 test_id INT NOT NULL,
5 name VARCHAR(255) NOT NULL
6) ENGINE = InnoDB;
7
8ALTER TABLE afe_test_parameters
9ADD CONSTRAINT afe_test_parameters_test_ibfk
10FOREIGN KEY (test_id) REFERENCES afe_autotests (id);
11
12ALTER TABLE afe_test_parameters
13ADD CONSTRAINT afe_test_parameters_unique
14UNIQUE KEY (test_id, name);
15
16
17CREATE TABLE afe_parameterized_jobs (
18 id INT PRIMARY KEY AUTO_INCREMENT,
19 test_id INT NOT NULL,
20 label_id INT DEFAULT NULL,
21 use_container TINYINT(1) DEFAULT 0,
22 profile_only TINYINT(1) DEFAULT 0,
23 upload_kernel_config TINYINT(1) DEFAULT 0
24) ENGINE = InnoDB;
25
26ALTER TABLE afe_parameterized_jobs
27ADD CONSTRAINT afe_parameterized_jobs_test_ibfk
28FOREIGN KEY (test_id) REFERENCES afe_autotests (id);
29
30ALTER TABLE afe_parameterized_jobs
31ADD CONSTRAINT afe_parameterized_jobs_label_ibfk
32FOREIGN KEY (label_id) REFERENCES afe_labels (id);
33
34
35CREATE TABLE afe_kernels (
36 id INT PRIMARY KEY AUTO_INCREMENT,
37 version VARCHAR(255) NOT NULL,
38 cmdline VARCHAR(255) DEFAULT ''
39) ENGINE = InnoDB;
40
41ALTER TABLE afe_kernels
42ADD CONSTRAINT afe_kernals_unique
43UNIQUE KEY (version, cmdline);
44
45
46CREATE TABLE afe_parameterized_jobs_kernels (
47 parameterized_job_id INT NOT NULL,
48 kernel_id INT NOT NULL,
49 PRIMARY KEY (parameterized_job_id, kernel_id)
50) ENGINE = InnoDB;
51
52ALTER TABLE afe_parameterized_jobs_kernels
53ADD CONSTRAINT afe_parameterized_jobs_kernels_parameterized_job_ibfk
54FOREIGN KEY (parameterized_job_id) REFERENCES afe_parameterized_jobs (id);
55
56
57CREATE TABLE afe_parameterized_jobs_profilers (
58 id INT PRIMARY KEY AUTO_INCREMENT,
59 parameterized_job_id INT NOT NULL,
60 profiler_id INT NOT NULL
61) ENGINE = InnoDB;
62
63ALTER TABLE afe_parameterized_jobs_profilers
64ADD CONSTRAINT afe_parameterized_jobs_profilers_parameterized_job_ibfk
65FOREIGN KEY (parameterized_job_id) REFERENCES afe_parameterized_jobs (id);
66
67ALTER TABLE afe_parameterized_jobs_profilers
68ADD CONSTRAINT afe_parameterized_jobs_profilers_profile_ibfk
69FOREIGN KEY (profiler_id) REFERENCES afe_profilers (id);
70
71ALTER TABLE afe_parameterized_jobs_profilers
72ADD CONSTRAINT afe_parameterized_jobs_profilers_unique
73UNIQUE KEY (parameterized_job_id, profiler_id);
74
75
76CREATE TABLE afe_parameterized_job_profiler_parameters (
77 id INT PRIMARY KEY AUTO_INCREMENT,
78 parameterized_job_profiler_id INT NOT NULL,
79 parameter_name VARCHAR(255) NOT NULL,
80 parameter_value TEXT NOT NULL,
81 parameter_type ENUM('int', 'float', 'string')
82) ENGINE = InnoDB;
83
84ALTER TABLE afe_parameterized_job_profiler_parameters
85ADD CONSTRAINT afe_parameterized_job_profiler_parameters_ibfk
86FOREIGN KEY (parameterized_job_profiler_id)
87 REFERENCES afe_parameterized_jobs_profilers (id);
88
89ALTER TABLE afe_parameterized_job_profiler_parameters
90ADD CONSTRAINT afe_parameterized_job_profiler_parameters_unique
91UNIQUE KEY (parameterized_job_profiler_id, parameter_name);
92
93
94CREATE TABLE afe_parameterized_job_parameters (
95 id INT PRIMARY KEY AUTO_INCREMENT,
96 parameterized_job_id INT NOT NULL,
97 test_parameter_id INT NOT NULL,
98 parameter_value TEXT NOT NULL,
99 parameter_type ENUM('int', 'float', 'string')
100) ENGINE = InnoDB;
101
102ALTER TABLE afe_parameterized_job_parameters
103ADD CONSTRAINT afe_parameterized_job_parameters_job_ibfk
104FOREIGN KEY (parameterized_job_id) REFERENCES afe_parameterized_jobs (id);
105
106ALTER TABLE afe_parameterized_job_parameters
107ADD CONSTRAINT afe_parameterized_job_parameters_test_parameter_ibfk
108FOREIGN KEY (test_parameter_id) REFERENCES afe_test_parameters (id);
109
110ALTER TABLE afe_parameterized_job_parameters
111ADD CONSTRAINT afe_parameterized_job_parameters_unique
112UNIQUE KEY (parameterized_job_id, test_parameter_id);
113
114
115ALTER TABLE afe_jobs
116MODIFY COLUMN control_file TEXT DEFAULT NULL;
117
118ALTER TABLE afe_jobs
119ADD COLUMN parameterized_job_id INT DEFAULT NULL;
120
121ALTER TABLE afe_jobs
122ADD CONSTRAINT afe_jobs_parameterized_job_ibfk
123FOREIGN KEY (parameterized_job_id) REFERENCES afe_parameterized_jobs (id);
124"""
125
126
127DOWN_SQL = """
128ALTER TABLE afe_jobs
129DROP FOREIGN KEY afe_jobs_parameterized_job_ibfk;
130
131ALTER TABLE afe_jobs
132DROP COLUMN parameterized_job_id;
133
134ALTER TABLE afe_jobs
135MODIFY COLUMN control_file TEXT;
136
137DROP TABLE afe_parameterized_job_parameters;
138DROP TABLE afe_parameterized_job_profiler_parameters;
139DROP TABLE afe_parameterized_jobs_profilers;
140DROP TABLE afe_parameterized_jobs_kernels;
141DROP TABLE afe_kernels;
142DROP TABLE afe_parameterized_jobs;
143DROP TABLE afe_test_parameters;
144"""