Package dak :: Package dakdb :: Module update118
[hide private]
[frames] | no frames]

Source Code for Module dak.dakdb.update118

 1  """set owner tables for sequences 
 2   
 3  @contact: Debian FTP Master <ftpmaster@debian.org> 
 4  @copyright: 2018, Bastian Blank <waldi@debian.org> 
 5  @license: GNU General Public License version 2 or later 
 6  """ 
 7   
 8  # This program is free software; you can redistribute it and/or modify 
 9  # it under the terms of the GNU General Public License as published by 
10  # the Free Software Foundation; either version 2 of the License, or 
11  # (at your option) any later version. 
12   
13  # This program is distributed in the hope that it will be useful, 
14  # but WITHOUT ANY WARRANTY; without even the implied warranty of 
15  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
16  # GNU General Public License for more details. 
17   
18  # You should have received a copy of the GNU General Public License 
19  # along with this program; if not, write to the Free Software 
20  # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
21   
22  ################################################################################ 
23   
24  import psycopg2 
25   
26  from daklib.dak_exceptions import DBUpdateError 
27   
28  sequences = { 
29      "acl_id_seq": "acl.id", 
30      "architecture_id_seq": "architecture.id", 
31      "archive_id_seq": "archive.id", 
32      "bin_associations_id_seq": "bin_associations.id", 
33      "binaries_id_seq": "binaries.id", 
34      "build_queue_id_seq": "build_queue.id", 
35      "changelogs_text_id_seq": "changelogs_text.id", 
36      "changes_id_seq": "changes.id", 
37      "component_id_seq": "component.id", 
38      "component_ordering_seq": "component.ordering", 
39      "config_id_seq": "config.id", 
40      "dsc_files_id_seq": "dsc_files.id", 
41      "files_id_seq": "files.id", 
42      "fingerprint_id_seq": "fingerprint.id", 
43      "keyrings_id_seq": "keyrings.id", 
44      "maintainer_id_seq": "maintainer.id", 
45      "metadata_keys_key_id_seq": "metadata_keys.key_id", 
46      "new_comments_id_seq": "new_comments.id", 
47      "override_type_id_seq": "override_type.id", 
48      "policy_queue_byhand_file_id_seq": "policy_queue_byhand_file.id", 
49      "policy_queue_id_seq": "policy_queue.id", 
50      "policy_queue_upload_id_seq": "policy_queue_upload.id", 
51      "priority_id_seq": "priority.id", 
52      "section_id_seq": "section.id", 
53      "source_id_seq": "source.id", 
54      "src_associations_id_seq": "src_associations.id", 
55      "src_format_id_seq": "src_format.id", 
56      "src_uploaders_id_seq": "src_uploaders.id", 
57      "suite_id_seq": "suite.id", 
58      "uid_id_seq": "uid.id", 
59  } 
60   
61  ################################################################################ 
62   
63   
64 -def do_update(self):
65 print(__doc__) 66 try: 67 c = self.db.cursor() 68 69 for i in sequences.items(): 70 c.execute("ALTER SEQUENCE {0} OWNED BY {1}".format(*i)) 71 72 c.execute("UPDATE config SET value = '118' WHERE name = 'db_revision'") 73 self.db.commit() 74 75 except psycopg2.ProgrammingError as msg: 76 self.db.rollback() 77 raise DBUpdateError( 78 "Unable to apply sick update 118, rollback issued. Error message: {0}".format( 79 msg 80 ) 81 )
82