summaryrefslogtreecommitdiff
path: root/tko/migrations
diff options
context:
space:
mode:
authorjamesren <jamesren@592f7852-d20e-0410-864c-8624ca9c26a4>2010-03-23 00:19:26 +0000
committerjamesren <jamesren@592f7852-d20e-0410-864c-8624ca9c26a4>2010-03-23 00:19:26 +0000
commit7c71a57872b48f291fe2549684a7b986d81b8dcc (patch)
tree3aab7e07162ccb19fdbb002206d24a7ed2fbd03c /tko/migrations
parent07ad56d15f9f7edb8d925ba394b3d40e7026d5d5 (diff)
Rebase the AUTOTEST_WEB database to schema version 51. Also default the
migration manager to the AUTOTEST_WEB database, since the TKO database has been removed. Signed-off-by: James Ren <jamesren@google.com> git-svn-id: svn://test.kernel.org/autotest/trunk@4317 592f7852-d20e-0410-864c-8624ca9c26a4
Diffstat (limited to 'tko/migrations')
-rw-r--r--tko/migrations/001_initial_db.py177
1 files changed, 2 insertions, 175 deletions
diff --git a/tko/migrations/001_initial_db.py b/tko/migrations/001_initial_db.py
index c67f3c2f..2cd26108 100644
--- a/tko/migrations/001_initial_db.py
+++ b/tko/migrations/001_initial_db.py
@@ -1,28 +1,6 @@
-import os
-
-required_tables = ('machines', 'jobs', 'patches', 'tests', 'test_attributes',
- 'iteration_result')
-
def migrate_up(manager):
- rows = manager.execute("SHOW TABLES")
- tables = [row[0] for row in rows]
- db_initialized = True
- for table in required_tables:
- if table not in tables:
- db_initialized = False
- break
- if not db_initialized:
- if not manager.force:
- response = raw_input(
- 'Your autotest_web database does not appear to be '
- 'initialized. Do you want to recreate it (this will '
- 'result in loss of any existing data) (yes/No)? ')
- if response != 'yes':
- raise Exception('User has chosen to abort migration')
-
- manager.execute_script(CREATE_DB_SQL)
-
- manager.create_migrate_table()
+ raise Exception('The TKO database is no longer used. Please run migrate.py '
+ 'without the -d or --database parameter')
def migrate_down(manager):
@@ -44,154 +22,3 @@ DROP TABLE IF EXISTS machines;
DROP TABLE IF EXISTS kernels;
DROP TABLE IF EXISTS status;
"""
-
-
-CREATE_DB_SQL = DROP_DB_SQL + """\
--- status key
-CREATE TABLE status (
-status_idx int(10) unsigned NOT NULL auto_increment PRIMARY KEY , -- numerical status
-word VARCHAR(10) -- status word
-) TYPE=InnoDB;
-
--- kernel versions
-CREATE TABLE kernels (
-kernel_idx int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
-kernel_hash VARCHAR(35), -- Hash of base + all patches
-base VARCHAR(30), -- Base version without patches
-printable VARCHAR(100) -- Full version with patches
-) TYPE=InnoDB;
-
--- machines/hosts table
-CREATE TABLE machines (
-machine_idx int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
-hostname VARCHAR(100) unique KEY, -- hostname
-machine_group VARCHAR(80), -- group name
-owner VARCHAR(80) -- owner name
-) TYPE=InnoDB;
-
--- main jobs table
-CREATE TABLE jobs (
-job_idx int(10) unsigned NOT NULL auto_increment PRIMARY KEY, -- index number
-tag VARCHAR(100) unique KEY, -- job key
-label VARCHAR(100), -- job label assigned by user
-KEY (label),
-username VARCHAR(80), -- user name
-KEY (username),
-machine_idx INT(10) unsigned NOT NULL, -- reference to machine table
-KEY (machine_idx),
-FOREIGN KEY (machine_idx) REFERENCES machines(machine_idx) ON DELETE CASCADE
-) TYPE=InnoDB;
-
--- One entry per patch used, anywhere
-CREATE TABLE patches (
-kernel_idx INT(10) unsigned NOT NULL, -- index number
-name VARCHAR(80), -- short name
-url VARCHAR(300), -- full URL
-hash VARCHAR(35),
-KEY (kernel_idx),
-FOREIGN KEY (kernel_idx) REFERENCES kernels(kernel_idx) ON DELETE CASCADE
-) TYPE=InnoDB;
-
--- test functional results
-CREATE TABLE tests (
-test_idx int(10) unsigned NOT NULL auto_increment PRIMARY KEY, -- index number
-job_idx INTEGER, -- ref to job table
-test VARCHAR(30), -- name of test
-subdir VARCHAR(60), -- subdirectory name
-kernel_idx INT(10) unsigned NOT NULL, -- kernel test was AGAINST
-KEY (kernel_idx),
-FOREIGN KEY (kernel_idx) REFERENCES kernels(kernel_idx) ON DELETE CASCADE,
-status int(10) unsigned NOT NULL, -- test status
-KEY (status),
-FOREIGN KEY (status) REFERENCES status(status_idx) ON DELETE CASCADE,
-reason VARCHAR(100), -- reason for test status
-machine_idx INT(10) unsigned NOT NULL, -- reference to machine table
-KEY (machine_idx),
-FOREIGN KEY (machine_idx) REFERENCES machines(machine_idx) ON DELETE CASCADE,
-invalid BOOL NOT NULL
-) TYPE=InnoDB;
-
--- test attributes (key value pairs at a test level)
-CREATE TABLE test_attributes (
-test_idx int(10) unsigned NOT NULL, -- ref to test table
-FOREIGN KEY (test_idx) REFERENCES tests(test_idx) ON DELETE CASCADE,
-attribute VARCHAR(30), -- attribute name (e.g. 'version')
-value VARCHAR(100), -- attribute value
-KEY `test_idx` (`test_idx`)
-) TYPE=InnoDB;
-
--- test performance results
-CREATE TABLE iteration_result(
-test_idx int(10) unsigned NOT NULL, -- ref to test table
-FOREIGN KEY (test_idx) REFERENCES tests(test_idx) ON DELETE CASCADE,
-iteration INTEGER, -- integer
-attribute VARCHAR(30), -- attribute name (e.g. 'throughput')
-value FLOAT, -- attribute value (eg 700.1)
-KEY `test_idx` (`test_idx`)
-) TYPE=InnoDB;
-
--- BRRD syncronization
-CREATE TABLE brrd_sync (
-test_idx int(10) unsigned NOT NULL, -- ref to test table
-FOREIGN KEY (test_idx) REFERENCES tests(test_idx) ON DELETE CASCADE
-) TYPE=InnoDB;
-
--- test_view (to make life easier for people trying to mine data)
-CREATE VIEW test_view AS
-SELECT tests.test_idx,
- tests.job_idx,
- tests.test,
- tests.subdir,
- tests.kernel_idx,
- tests.status,
- tests.reason,
- tests.machine_idx,
- jobs.tag AS job_tag,
- jobs.label AS job_label,
- jobs.username AS job_username,
- machines.hostname AS machine_hostname,
- machines.machine_group,
- machines.owner AS machine_owner,
- kernels.kernel_hash,
- kernels.base AS kernel_base,
- kernels.printable AS kernel_printable,
- status.word AS status_word
-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;
-
--- perf_view (to make life easier for people trying to mine performance data)
-CREATE VIEW perf_view AS
-SELECT tests.test_idx,
- tests.job_idx,
- tests.test,
- tests.subdir,
- tests.kernel_idx,
- tests.status,
- tests.reason,
- tests.machine_idx,
- jobs.tag AS job_tag,
- jobs.label AS job_label,
- jobs.username AS job_username,
- machines.hostname AS machine_hostname,
- machines.machine_group,
- machines.owner AS machine_owner,
- kernels.kernel_hash,
- kernels.base AS kernel_base,
- kernels.printable AS kernel_printable,
- status.word AS status_word,
- 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.kernel_idx;
-
-INSERT INTO status (word)
-VALUES ('NOSTATUS'), ('ERROR'), ('ABORT'), ('FAIL'), ('WARN'), ('GOOD'), ('ALERT');
-"""