39
|
1 from trac.db import Table, Column, Index, DatabaseManager
|
|
2
|
|
3 def do_upgrade(env, ver, cursor):
|
|
4 cursor.execute("CREATE TEMPORARY TABLE session_old AS SELECT * FROM session")
|
|
5 cursor.execute("DROP TABLE session")
|
|
6
|
|
7 db = env.get_db_cnx()
|
|
8 session_table = Table('session', key=('sid', 'authenticated', 'var_name'))[
|
|
9 Column('sid'),
|
|
10 Column('authenticated', type='int'),
|
|
11 Column('var_name'),
|
|
12 Column('var_value')]
|
|
13 db_backend, _ = DatabaseManager(env)._get_connector()
|
|
14 for stmt in db_backend.to_sql(session_table):
|
|
15 cursor.execute(stmt)
|
|
16
|
|
17 cursor.execute("INSERT INTO session (sid,authenticated,var_name,var_value) "
|
|
18 "SELECT sid,authenticated,var_name,var_value "
|
|
19 "FROM session_old")
|
|
20 cursor.execute("DROP TABLE session_old")
|