1 """
2 Add accept_{source,binary}_uploads to suite
3
4 @contact: Debian FTP Master <ftpmaster@debian.org>
5 @copyright: 2016, Ansgar Burchardt <ansgar@debian.org>
6 @license: GNU General Public License version 2 or later
7 """
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 import psycopg2
26
27 from daklib.dak_exceptions import DBUpdateError
28
29 statements = [
30 """
31 ALTER TABLE suite
32 ADD COLUMN accept_source_uploads BOOLEAN DEFAULT TRUE,
33 ADD COLUMN accept_binary_uploads BOOLEAN DEFAULT TRUE
34 """,
35 """
36 UPDATE suite
37 SET accept_source_uploads = FALSE, accept_binary_uploads = FALSE
38 WHERE id IN (SELECT suite_id FROM policy_queue)
39 OR id IN (SELECT suite_id FROM build_queue)
40 OR id IN (SELECT debugsuite_id FROM suite)
41 """,
42 ]
43
44
45
46
48 print(__doc__)
49 try:
50 c = self.db.cursor()
51
52 for stmt in statements:
53 c.execute(stmt)
54
55 c.execute("UPDATE config SET value = '113' WHERE name = 'db_revision'")
56 self.db.commit()
57
58 except psycopg2.ProgrammingError as msg:
59 self.db.rollback()
60 raise DBUpdateError(
61 "Unable to apply sick update 113, rollback issued. Error message: {0}".format(
62 msg
63 )
64 )
65