102 lines
3.2 KiB
Python
102 lines
3.2 KiB
Python
def migrate_up(manager):
|
|
manager.execute(CREATE_QUERIES_TABLE)
|
|
manager.execute(CREATE_TEST_VIEW_OUTER_JOINS)
|
|
manager.execute(CREATE_PERF_VIEW_2)
|
|
|
|
def migrate_down(manager):
|
|
manager.execute(DROP_QUERIES_TABLE)
|
|
manager.execute(DROP_TEST_VIEW_OUTER_JOINS)
|
|
manager.execute(DROP_PERF_VIEW_2)
|
|
|
|
|
|
CREATE_QUERIES_TABLE = """\
|
|
CREATE TABLE embedded_graphing_queries (
|
|
id INT NOT NULL AUTO_INCREMENT,
|
|
url_token TEXT NOT NULL,
|
|
graph_type VARCHAR(16) NOT NULL,
|
|
params TEXT NOT NULL,
|
|
last_accessed DATETIME NOT NULL,
|
|
PRIMARY KEY(id),
|
|
INDEX (url_token(128)))
|
|
"""
|
|
|
|
DROP_QUERIES_TABLE = """\
|
|
DROP TABLE IF EXISTS embedded_graphing_queries
|
|
"""
|
|
|
|
CREATE_TEST_VIEW_OUTER_JOINS = """\
|
|
CREATE VIEW test_view_outer_joins AS
|
|
SELECT tests.test_idx,
|
|
tests.job_idx,
|
|
tests.test AS test_name,
|
|
tests.subdir,
|
|
tests.kernel_idx,
|
|
tests.status AS status_idx,
|
|
tests.reason,
|
|
tests.machine_idx,
|
|
tests.started_time AS test_started_time,
|
|
tests.finished_time AS test_finished_time,
|
|
jobs.tag AS job_tag,
|
|
jobs.label AS job_name,
|
|
jobs.username AS job_owner,
|
|
jobs.queued_time AS job_queued_time,
|
|
jobs.started_time AS job_started_time,
|
|
jobs.finished_time AS job_finished_time,
|
|
machines.hostname AS hostname,
|
|
machines.machine_group AS platform,
|
|
machines.owner AS machine_owner,
|
|
kernels.kernel_hash,
|
|
kernels.base AS kernel_base,
|
|
kernels.printable AS kernel,
|
|
status.word AS status
|
|
FROM tests
|
|
LEFT OUTER JOIN jobs ON jobs.job_idx = tests.job_idx
|
|
LEFT OUTER JOIN machines ON machines.machine_idx = jobs.machine_idx
|
|
LEFT OUTER JOIN kernels ON kernels.kernel_idx = tests.kernel_idx
|
|
LEFT OUTER JOIN status ON status.status_idx = tests.status;
|
|
"""
|
|
|
|
DROP_TEST_VIEW_OUTER_JOINS = """\
|
|
DROP VIEW IF EXISTS test_view_outer_joins
|
|
"""
|
|
|
|
CREATE_PERF_VIEW_2 = """\
|
|
CREATE VIEW perf_view_2 AS
|
|
SELECT tests.test_idx,
|
|
tests.job_idx,
|
|
tests.test AS test_name,
|
|
tests.subdir,
|
|
tests.kernel_idx,
|
|
tests.status AS status_idx,
|
|
tests.reason,
|
|
tests.machine_idx,
|
|
tests.started_time AS test_started_time,
|
|
tests.finished_time AS test_finished_time,
|
|
jobs.tag AS job_tag,
|
|
jobs.label AS job_name,
|
|
jobs.username AS job_owner,
|
|
jobs.queued_time AS job_queued_time,
|
|
jobs.started_time AS job_started_time,
|
|
jobs.finished_time AS job_finished_time,
|
|
machines.hostname AS hostname,
|
|
machines.machine_group AS platform,
|
|
machines.owner AS machine_owner,
|
|
kernels.kernel_hash,
|
|
kernels.base AS kernel_base,
|
|
kernels.printable AS kernel,
|
|
status.word AS status,
|
|
iteration_result.iteration,
|
|
iteration_result.attribute AS iteration_key,
|
|
iteration_result.value AS iteration_value
|
|
FROM tests
|
|
INNER JOIN jobs ON jobs.job_idx = tests.job_idx
|
|
INNER JOIN machines ON machines.machine_idx = jobs.machine_idx
|
|
INNER JOIN kernels ON kernels.kernel_idx = tests.kernel_idx
|
|
INNER JOIN status ON status.status_idx = tests.status
|
|
INNER JOIN iteration_result ON iteration_result.test_idx = tests.test_idx;
|
|
"""
|
|
|
|
DROP_PERF_VIEW_2 = """\
|
|
DROP VIEW IF EXISTS perf_view_2
|
|
"""
|