| UP_SQL = """ |
| CREATE TABLE afe_test_parameters ( |
| id INT PRIMARY KEY AUTO_INCREMENT, |
| test_id INT NOT NULL, |
| name VARCHAR(255) NOT NULL |
| ) ENGINE = InnoDB; |
| |
| ALTER TABLE afe_test_parameters |
| ADD CONSTRAINT afe_test_parameters_test_ibfk |
| FOREIGN KEY (test_id) REFERENCES afe_autotests (id); |
| |
| ALTER TABLE afe_test_parameters |
| ADD CONSTRAINT afe_test_parameters_unique |
| UNIQUE KEY (test_id, name); |
| |
| |
| CREATE TABLE afe_parameterized_jobs ( |
| id INT PRIMARY KEY AUTO_INCREMENT, |
| test_id INT NOT NULL, |
| label_id INT DEFAULT NULL, |
| use_container TINYINT(1) DEFAULT 0, |
| profile_only TINYINT(1) DEFAULT 0, |
| upload_kernel_config TINYINT(1) DEFAULT 0 |
| ) ENGINE = InnoDB; |
| |
| ALTER TABLE afe_parameterized_jobs |
| ADD CONSTRAINT afe_parameterized_jobs_test_ibfk |
| FOREIGN KEY (test_id) REFERENCES afe_autotests (id); |
| |
| ALTER TABLE afe_parameterized_jobs |
| ADD CONSTRAINT afe_parameterized_jobs_label_ibfk |
| FOREIGN KEY (label_id) REFERENCES afe_labels (id); |
| |
| |
| CREATE TABLE afe_kernels ( |
| id INT PRIMARY KEY AUTO_INCREMENT, |
| version VARCHAR(255) NOT NULL, |
| cmdline VARCHAR(255) DEFAULT '' |
| ) ENGINE = InnoDB; |
| |
| ALTER TABLE afe_kernels |
| ADD CONSTRAINT afe_kernals_unique |
| UNIQUE KEY (version, cmdline); |
| |
| |
| CREATE TABLE afe_parameterized_jobs_kernels ( |
| parameterized_job_id INT NOT NULL, |
| kernel_id INT NOT NULL, |
| PRIMARY KEY (parameterized_job_id, kernel_id) |
| ) ENGINE = InnoDB; |
| |
| ALTER TABLE afe_parameterized_jobs_kernels |
| ADD CONSTRAINT afe_parameterized_jobs_kernels_parameterized_job_ibfk |
| FOREIGN KEY (parameterized_job_id) REFERENCES afe_parameterized_jobs (id); |
| |
| |
| CREATE TABLE afe_parameterized_jobs_profilers ( |
| id INT PRIMARY KEY AUTO_INCREMENT, |
| parameterized_job_id INT NOT NULL, |
| profiler_id INT NOT NULL |
| ) ENGINE = InnoDB; |
| |
| ALTER TABLE afe_parameterized_jobs_profilers |
| ADD CONSTRAINT afe_parameterized_jobs_profilers_parameterized_job_ibfk |
| FOREIGN KEY (parameterized_job_id) REFERENCES afe_parameterized_jobs (id); |
| |
| ALTER TABLE afe_parameterized_jobs_profilers |
| ADD CONSTRAINT afe_parameterized_jobs_profilers_profile_ibfk |
| FOREIGN KEY (profiler_id) REFERENCES afe_profilers (id); |
| |
| ALTER TABLE afe_parameterized_jobs_profilers |
| ADD CONSTRAINT afe_parameterized_jobs_profilers_unique |
| UNIQUE KEY (parameterized_job_id, profiler_id); |
| |
| |
| CREATE TABLE afe_parameterized_job_profiler_parameters ( |
| id INT PRIMARY KEY AUTO_INCREMENT, |
| parameterized_job_profiler_id INT NOT NULL, |
| parameter_name VARCHAR(255) NOT NULL, |
| parameter_value TEXT NOT NULL, |
| parameter_type ENUM('int', 'float', 'string') |
| ) ENGINE = InnoDB; |
| |
| ALTER TABLE afe_parameterized_job_profiler_parameters |
| ADD CONSTRAINT afe_parameterized_job_profiler_parameters_ibfk |
| FOREIGN KEY (parameterized_job_profiler_id) |
| REFERENCES afe_parameterized_jobs_profilers (id); |
| |
| ALTER TABLE afe_parameterized_job_profiler_parameters |
| ADD CONSTRAINT afe_parameterized_job_profiler_parameters_unique |
| UNIQUE KEY (parameterized_job_profiler_id, parameter_name); |
| |
| |
| CREATE TABLE afe_parameterized_job_parameters ( |
| id INT PRIMARY KEY AUTO_INCREMENT, |
| parameterized_job_id INT NOT NULL, |
| test_parameter_id INT NOT NULL, |
| parameter_value TEXT NOT NULL, |
| parameter_type ENUM('int', 'float', 'string') |
| ) ENGINE = InnoDB; |
| |
| ALTER TABLE afe_parameterized_job_parameters |
| ADD CONSTRAINT afe_parameterized_job_parameters_job_ibfk |
| FOREIGN KEY (parameterized_job_id) REFERENCES afe_parameterized_jobs (id); |
| |
| ALTER TABLE afe_parameterized_job_parameters |
| ADD CONSTRAINT afe_parameterized_job_parameters_test_parameter_ibfk |
| FOREIGN KEY (test_parameter_id) REFERENCES afe_test_parameters (id); |
| |
| ALTER TABLE afe_parameterized_job_parameters |
| ADD CONSTRAINT afe_parameterized_job_parameters_unique |
| UNIQUE KEY (parameterized_job_id, test_parameter_id); |
| |
| |
| ALTER TABLE afe_jobs |
| MODIFY COLUMN control_file TEXT DEFAULT NULL; |
| |
| ALTER TABLE afe_jobs |
| ADD COLUMN parameterized_job_id INT DEFAULT NULL; |
| |
| ALTER TABLE afe_jobs |
| ADD CONSTRAINT afe_jobs_parameterized_job_ibfk |
| FOREIGN KEY (parameterized_job_id) REFERENCES afe_parameterized_jobs (id); |
| """ |
| |
| |
| DOWN_SQL = """ |
| ALTER TABLE afe_jobs |
| DROP FOREIGN KEY afe_jobs_parameterized_job_ibfk; |
| |
| ALTER TABLE afe_jobs |
| DROP COLUMN parameterized_job_id; |
| |
| ALTER TABLE afe_jobs |
| MODIFY COLUMN control_file TEXT; |
| |
| DROP TABLE afe_parameterized_job_parameters; |
| DROP TABLE afe_parameterized_job_profiler_parameters; |
| DROP TABLE afe_parameterized_jobs_profilers; |
| DROP TABLE afe_parameterized_jobs_kernels; |
| DROP TABLE afe_kernels; |
| DROP TABLE afe_parameterized_jobs; |
| DROP TABLE afe_test_parameters; |
| """ |