1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 from buildbot.db.schema import base
17
22
24 cursor = self.conn.cursor()
25
26 cursor.execute("""
27 ALTER TABLE schedulers
28 RENAME TO schedulers_old
29 """)
30
31 try:
32 cursor.execute("""
33 CREATE TABLE schedulers (
34 `schedulerid` INTEGER PRIMARY KEY, -- joins to other tables
35 `name` VARCHAR(127) NOT NULL, -- the scheduler's name according to master.cfg
36 `class_name` VARCHAR(127) NOT NULL, -- the scheduler's class
37 `state` VARCHAR(1024) NOT NULL -- JSON-encoded state dictionary
38 );
39 """)
40 except:
41
42 cursor.execute("""
43 ALTER TABLE schedulers_old
44 RENAME TO schedulers
45 """)
46 raise
47
48 try:
49 cursor.execute("""
50 CREATE UNIQUE INDEX `name_and_class` ON
51 schedulers (`name`, `class_name`)
52 """)
53
54 cursor.execute("""
55 INSERT INTO schedulers (`schedulerid`, `name`, `state`, `class_name`)
56 SELECT `schedulerid`, `name`, `state`, '' FROM schedulers_old
57 """)
58 cursor.execute("""
59 DROP TABLE schedulers_old
60 """)
61 except:
62
63 cursor.execute("""
64 DROP TABLE schedulers
65 """)
66 cursor.execute("""
67 ALTER TABLE schedulers_old
68 RENAME TO schedulers
69 """)
70 raise
71
73 c = self.conn.cursor()
74 c.execute("""UPDATE version set version = 3 where version = 2""")
75