1 """list of external signature requests
2
3 @contact: Debian FTP Master <ftpmaster@debian.org>
4 @copyright: 2018, Ansgar Burchardt <ansgar@debian.org>
5 @license: GNU General Public License version 2 or later
6 """
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 import psycopg2
25 from daklib.dak_exceptions import DBUpdateError
26 from daklib.config import Config
27
28 statements = [
29 """
30 CREATE TABLE external_signature_requests (
31 association_id INTEGER NOT NULL REFERENCES bin_associations(id) ON DELETE CASCADE,
32 suite_id INTEGER NOT NULL REFERENCES suite(id) ON DELETE CASCADE,
33 PRIMARY KEY (association_id, suite_id)
34 )
35 """
36 ]
37
38
39
40
42 print(__doc__)
43 try:
44 cnf = Config()
45
46 c = self.db.cursor()
47
48 for stmt in statements:
49 c.execute(stmt)
50
51 c.execute("UPDATE config SET value = '117' WHERE name = 'db_revision'")
52 self.db.commit()
53
54 except psycopg2.ProgrammingError as msg:
55 self.db.rollback()
56 raise DBUpdateError('Unable to apply sick update 117, rollback issued. Error message: {0}'.format(msg))
57