diff --git a/sql/update/add-updated-at-to-task.sql b/sql/update/add-updated-at-to-task.sql new file mode 100644 index 000000000..348959ebb --- /dev/null +++ b/sql/update/add-updated-at-to-task.sql @@ -0,0 +1,5 @@ +-- +-- Add updated_at to task table so we can track when a task (specially leave tasks) was updated. +-- +ALTER TABLE task +ADD COLUMN updated_at timestamp; diff --git a/sql/update/all.sql b/sql/update/all.sql index 045ab0f1e..a16862c7d 100644 --- a/sql/update/all.sql +++ b/sql/update/all.sql @@ -210,3 +210,16 @@ ADD COLUMN end_time integer; -- UPDATE config SET version='2.21'; + + +-- +-- Add updated_at to task table so we can track when a task (specially leave tasks) was updated. +-- +ALTER TABLE task +ADD COLUMN updated_at timestamp; + +-- +-- Set database version to 2.22 +-- + +UPDATE config SET version='2.22'; diff --git a/sql/update/bump-db-version-2-22.sql b/sql/update/bump-db-version-2-22.sql new file mode 100644 index 000000000..646b1fcf7 --- /dev/null +++ b/sql/update/bump-db-version-2-22.sql @@ -0,0 +1,5 @@ +-- +-- Set database version to 2.22 +-- + +UPDATE config SET version='2.22'; diff --git a/update/update-from-2.21-to-2.22.php b/update/update-from-2.21-to-2.22.php new file mode 100644 index 000000000..d040a004e --- /dev/null +++ b/update/update-from-2.21-to-2.22.php @@ -0,0 +1,58 @@ + + * + * This file is part of PhpReport. + * + * PhpReport is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * PhpReport is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with PhpReport. If not, see . + */ + +require_once('utils.php'); + +define('PHPREPORT_ROOT', __DIR__ . '/../'); +define('SQLPATH', PHPREPORT_ROOT . 'sql/update/'); + +/* These are the sql files that must be executed to prepare DB. + * + * IMPORTANT: they must be ordered for their proper execution. + */ +$sqlFiles = array(); +$sqlFiles[] = SQLPATH . "add-updated-at-to-task.sql"; + +// run upgrade scripts + +require_once(PHPREPORT_ROOT . 'config/config.php'); + +if (strcmp(get_db_version(DB_HOST, DB_PORT, DB_NAME, DB_USER, DB_PASSWORD), "2.21") != 0) { + print("Wrong database version. " . + "Make sure DB is on 2.21 version before running this upgrade.\n"); + exit(); +} + +$success = true; +foreach ($sqlFiles as $file) { + if (!parse_psql_dump($file, DB_HOST, DB_PORT, DB_NAME, DB_USER, DB_PASSWORD)) { + $success = false; + break; + } +} + +// finish, print message + +if ($success) { + print("Database update completed successfully\n"); +} else { + print("Error updating database in step: " . $file . + "\nPlease consider doing a manual update\n"); +}