conn->exec("ALTER TABLE tasks ADD COLUMN (test BOOL)"); // No actual changes in this one, it was just to make sure the upgrader paths were working } function __construct($conn) { $this->conn = $conn; $this->table_name = "tasks"; //$this->upgrade_method_names[2] = "from_1_to_2"; } } $tasks_table_decl = new SimpleTableDecl( "tasks", array( "create_task" => "INSERT INTO tasks (admin_userid, last_updated_table_version, title, description) VALUES (:userid, :table_ver, :title, :desc)", // TODO: dynamically generating these queries based on what fields are modified instead of statically would be a good idea "update_task_title" => "UPDATE tasks SET title=:title WHERE taskid=:taskid", "update_task_td" => "UPDATE tasks SET title=:title, description=:desc WHERE taskid=:taskid", "update_task_desc" => "UPDATE tasks SET description=:description WHERE taskid=:taskid", "get_all_tasks_simple" => "SELECT taskid, admin_userid, last_updated_table_version, title, state FROM tasks", "get_all_tasks" => "SELECT * FROM tasks" ), "CREATE TABLE `tasks` ( `taskid` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `admin_userid` INT NOT NULL, `last_updated_table_version` INT NOT NULL, `title` TEXT CHARACTER SET utf8, `description` TEXT CHARACTER SET utf8, `state` ENUM ('open', 'closed') NOT NULL DEFAULT 'open' );", 1, "\mcoop\TasksUpgrader" ); // TODO: tables for comments both on tasks and task claims would be a good idea (and probably necessary) // TODO: should either title be unique or maybe have an extra text task id kind of like bugzilla aliases? // TODO: need a claims table, and a table listing dividend credits available for each task, also a notification table for the task admin so they know when someone wants to add dividend credits to a closed task so they can reopen the task if deemed appropriate (also comments like any bugtracker?) ?>