view examples/trac/trac/upgrades/db15.py @ 39:93b4dcbafd7b trunk

Copy Trac to main branch.
author cmlenz
date Mon, 03 Jul 2006 18:53:27 +0000
parents
children
line wrap: on
line source
from trac.db import Table, Column, Index, DatabaseManager

def do_upgrade(env, ver, cursor):
    cursor.execute("CREATE TEMPORARY TABLE session_old AS SELECT * FROM session")
    cursor.execute("DROP TABLE session")

    db = env.get_db_cnx()
    session_table = Table('session', key=('sid', 'authenticated', 'var_name'))[
        Column('sid'),
        Column('authenticated', type='int'),
        Column('var_name'),
        Column('var_value')]
    db_backend, _ = DatabaseManager(env)._get_connector()
    for stmt in db_backend.to_sql(session_table):
        cursor.execute(stmt)

    cursor.execute("INSERT INTO session (sid,authenticated,var_name,var_value) "
                   "SELECT sid,authenticated,var_name,var_value "
                   "FROM session_old")
    cursor.execute("DROP TABLE session_old")
Copyright (C) 2012-2017 Edgewall Software