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

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

Fix indentation

File size: 1.4 KB
Line 
1from trac.db import Table, Column
2
3def do_upgrade(env, ver, db_backend, db):
4    """
5    Change primary key.
6    """
7    cursor = db.cursor()
8
9    realm = 'peerreview'
10
11    cursor.execute("CREATE TEMPORARY TABLE peerreview_old AS SELECT * FROM peerreview")
12    cursor.execute("DROP TABLE peerreview")
13
14    table_metadata = Table('peerreview', key=('review_id', 'owner', 'status'))[
15                              Column('review_id', auto_increment=True, type='int'),
16                              Column('owner'),
17                              Column('status'),
18                              Column('created', type='int'),
19                              Column('name'),
20                              Column('notes'),
21                              Column('parent_id', type='int'),
22                              Column('project'),
23                              Column('keywords')
24                              ]
25
26    env.log.info("Updating table for class %s" % realm)
27    for stmt in db_backend.to_sql(table_metadata):
28        env.log.debug(stmt)
29        cursor.execute(stmt)
30
31    cursor = db.cursor()
32
33    cursor.execute("INSERT INTO peerreview "
34                   "(review_id,owner,status,created,name,notes,parent_id,project,keywords) "
35                   "SELECT review_id,owner,status,created,name,notes,parent_id,project,keywords FROM peerreview_old")
36
37    cursor.execute("DROP TABLE peerreview_old")
Note: See TracBrowser for help on using the repository browser.