sql = [
#-- Some anonymous session might have been left over
"""DELETE FROM session WHERE username='anonymous';""",
#-- Schema change: use an authenticated flag instead of separate sid/username
#-- columns
"""CREATE TEMPORARY TABLE session_old AS SELECT * FROM session;""",
"""DROP TABLE session;""",
"""CREATE TABLE session (
sid text,
authenticated int,
var_name text,
var_value text,
UNIQUE(sid, var_name)
);""",
"""INSERT INTO session(sid,authenticated,var_name,var_value)
SELECT DISTINCT sid,0,var_name,var_value FROM session_old
WHERE sid IS NULL;""",
"""INSERT INTO session(sid,authenticated,var_name,var_value)
SELECT DISTINCT username,1,var_name,var_value FROM session_old
WHERE sid IS NULL;""",
"""DROP TABLE session_old;"""
]
def do_upgrade(env, ver, cursor):
for s in sql:
cursor.execute(s)
|