Fix General error: 1 no such table: main.task_has_subtasks

See: https://kanboard.discourse.group/t/error-no-such-table-main-task-has-subtasks/1664/15

> The `subtask_time_tracking table` has a wrong foreign key constraint. The constraints references the no-longer-existing table `task_has_subtasks`.
This commit is contained in:
emojized
2022-03-18 02:10:52 +01:00
committed by GitHub
parent c4f9c34f75
commit 178e2eaf63

View File

@@ -8,7 +8,31 @@ use Kanboard\Core\Security\Token;
use Kanboard\Core\Security\Role;
use PDO;
const VERSION = 125;
const VERSION = 126;
function version_126(PDO $pdo)
{
$pdo->exec('ALTER TABLE subtask_time_tracking RENAME TO subtask_time_tracking_old');
$pdo->exec('
CREATE TABLE subtask_time_tracking (
id INTEGER PRIMARY KEY,
user_id INTEGER NOT NULL,
subtask_id INTEGER NOT NULL,
start INTEGER DEFAULT 0,
end INTEGER DEFAULT 0,
time_spent REAL DEFAULT 0,
FOREIGN KEY(user_id) REFERENCES users(id) ON DELETE CASCADE,
FOREIGN KEY(subtask_id) REFERENCES subtasks(id) ON DELETE CASCADE
)
');
$pdo->exec('DROP INDEX subtasks_task_idx');
$pdo->exec('CREATE INDEX subtasks_task_idx ON subtasks(task_id)');
$pdo->exec('INSERT INTO subtask_time_tracking SELECT * FROM subtask_time_tracking_old');
$pdo->exec('DROP TABLE subtask_time_tracking_old');
}
function version_125(PDO $pdo)
{