source: peerreviewplugin/trunk/codereview/upgrades/db_peerreviewfile_4.py

Last change on this file was 16451, checked in by Ryan J Ollos, 6 years ago

Fix indentation

File size: 1.6 KB
Line 
1from trac.db import Table, Column, Index, DatabaseManager
2
3
4def do_upgrade(env, ver, db_backend, db):
5    """
6
7    """
8    cursor = db.cursor()
9
10    realm = 'peerreviewfile'
11
12    cursor.execute("CREATE TEMPORARY TABLE peerreviewfile_old AS SELECT * FROM peerreviewfile")
13    cursor.execute("DROP TABLE peerreviewfile")
14
15    table_metadata = Table('peerreviewfile', key=('file_id', 'hash', 'project', 'review_id', 'status'))[
16                              Column('file_id', auto_increment=True, type='int'),
17                              Column('review_id', type='int'),
18                              Column('path'),
19                              Column('line_start', type='int'),
20                              Column('line_end', type='int'),
21                              Column('repo'),
22                              Column('revision'),
23                              Column('changerevision'),
24                              Column('hash'),
25                              Column('status'),
26                              Column('project')]
27
28    env.log.info("Updating table for class %s" % realm)
29    for stmt in db_backend.to_sql(table_metadata):
30        env.log.debug(stmt)
31        cursor.execute(stmt)
32
33    cursor = db.cursor()
34
35    cursor.execute("INSERT INTO peerreviewfile "
36                   "(file_id,review_id,path,line_start,line_end,repo,revision,changerevision,hash,status, project) "
37                   "SELECT file_id,review_id,path,line_start,line_end,repo,revision,changerevision,hash,status, '' "
38                   "FROM peerreviewfile_old")
39
40    cursor.execute("DROP TABLE peerreviewfile_old")
Note: See TracBrowser for help on using the repository browser.