#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
Update from version 5 to version 6 of Yokadi DB

@author: Sébastien Renard <Sebastien.Renard@digitalfox.org>
@license: GPL v3 or newer
"""
import sys
from sqlobject import connectionForURI, sqlhub, SQLObject, ForeignKey, IntCol, DateTimeCol


class TaskLock(SQLObject):
    """V6 table"""
    task = ForeignKey("Task")
    pid = IntCol(default=None)
    updateDate = DateTimeCol(default=None)


class Task(SQLObject):
    """ This is a fake table (we only need table name) """
    pass


def createTaskLockTable():
    TaskLock.createTable()


def removeTaskTitleUniqConstraint():
    sqlhub.processConnection.queryAll("drop index task_uniqTaskTitlePerProject")


def main():
    sqlhub.processConnection = connectionForURI('sqlite:' + sys.argv[1])
    removeTaskTitleUniqConstraint()
    createTaskLockTable()

if __name__ == "__main__":
    main()
# vi: ts=4 sw=4 et
