huangcm
2025-02-24 69ed55dec4b2116a19e4cca4393cbc014fce5fb2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
CREATE_MANY2MANY_TABLES = """
CREATE TABLE `autotests_dependency_labels` (
    `id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
    `test_id` integer NOT NULL REFERENCES `autotests` (`id`),
    `label_id` integer NOT NULL REFERENCES `labels` (`id`),
    UNIQUE (`test_id`, `label_id`)
);
CREATE TABLE `jobs_dependency_labels` (
    `id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
    `job_id` integer NOT NULL REFERENCES `jobs` (`id`),
    `label_id` integer NOT NULL REFERENCES `labels` (`id`),
    UNIQUE (`job_id`, `label_id`)
);
"""
 
def migrate_up(manager):
    manager.execute('ALTER TABLE labels '
                    'ADD COLUMN only_if_needed bool NOT NULL')
    manager.execute_script(CREATE_MANY2MANY_TABLES)
 
def migrate_down(manager):
    manager.execute('ALTER TABLE labels DROP COLUMN only_if_needed')
    manager.execute('DROP TABLE IF EXISTS `autotests_dependency_labels`')
    manager.execute('DROP TABLE IF EXISTS `jobs_dependency_labels`')