diff options
author | jamesren <jamesren@592f7852-d20e-0410-864c-8624ca9c26a4> | 2010-03-23 00:19:26 +0000 |
---|---|---|
committer | jamesren <jamesren@592f7852-d20e-0410-864c-8624ca9c26a4> | 2010-03-23 00:19:26 +0000 |
commit | 7c71a57872b48f291fe2549684a7b986d81b8dcc (patch) | |
tree | 3aab7e07162ccb19fdbb002206d24a7ed2fbd03c /tko/migrations | |
parent | 07ad56d15f9f7edb8d925ba394b3d40e7026d5d5 (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.py | 177 |
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'); -""" |