source: peerreviewplugin/trunk/codereview/upgrades/db_peerreviewdata_3.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
2
3def do_upgrade(env, ver, db_backend, db):
4    """
5    Change primary key to a sane default.
6    """
7    cursor = db.cursor()
8
9    realm = 'peerreview'
10
11    cursor.execute("CREATE TEMPORARY TABLE peerreviewdata_old AS SELECT * FROM peerreviewdata")
12    cursor.execute("DROP TABLE peerreviewdata")
13
14    table_metadata = Table('peerreviewdata', key=('data_id'))[
15                              Column('data_id', auto_increment=True, type='int'),
16                              Column('review_id', type='int'),
17                              Column('comment_id', type='int'),
18                              Column('file_id', type='int'),
19                              Column('reviewer_id', type='int'),
20                              Column('type'),
21                              Column('data'),
22                              Column('owner'),
23                              Column('data_key'),
24                              Index(['review_id']),
25                              Index(['comment_id']),
26                              Index(['file_id'])
27                              ]
28
29    env.log.info("Updating table for class %s" % realm)
30    for stmt in db_backend.to_sql(table_metadata):
31        env.log.debug(stmt)
32        cursor.execute(stmt)
33
34    cursor = db.cursor()
35
36    cursor.execute("INSERT INTO peerreviewdata "
37                   "(data_id,review_id,comment_id,file_id,reviewer_id, type, data,owner, data_key) "
38                   "SELECT data_id,review_id,comment_id,file_id,reviewer_id,type,data,owner,data_key "
39                   "FROM peerreviewdata_old")
40
41    cursor.execute("DROP TABLE peerreviewdata_old")
Note: See TracBrowser for help on using the repository browser.