From 551a8336961616fc1e612a7fa9c3770f1e8d96b1 Mon Sep 17 00:00:00 2001 From: Gauthier PC portable 024 Date: Mon, 6 Mar 2023 11:19:39 +0100 Subject: [PATCH] NEW : migration script + delete old table + rename fields and indexes --- .../install/mysql/migration/17.0.0-18.0.0.sql | 17 +++++++++ ..._time.key.sql => llx_element_time.key.sql} | 7 ++-- .../mysql/tables/llx_projet_task_time.sql | 38 ------------------- 3 files changed, 21 insertions(+), 41 deletions(-) rename htdocs/install/mysql/tables/{llx_projet_task_time.key.sql => llx_element_time.key.sql} (73%) delete mode 100644 htdocs/install/mysql/tables/llx_projet_task_time.sql diff --git a/htdocs/install/mysql/migration/17.0.0-18.0.0.sql b/htdocs/install/mysql/migration/17.0.0-18.0.0.sql index 9c2643688dd..8b62b4f7b4d 100644 --- a/htdocs/install/mysql/migration/17.0.0-18.0.0.sql +++ b/htdocs/install/mysql/migration/17.0.0-18.0.0.sql @@ -87,3 +87,20 @@ ALTER TABLE llx_ecm_files ADD COLUMN share_pass varchar(32) after share; ALTER TABLE llx_prelevement_demande ADD COLUMN type varchar(12) DEFAULT ''; UPDATE llx_prelevement_demande SET type = 'ban' WHERE ext_payment_id IS NULL AND type = ''; + +-- Element time +ALTER TABLE llx_projet_task_time RENAME TO llx_element_time; +ALTER TABLE llx_element_time CHANGE COLUMN fk_task fk_element integer NOT NULL; +ALTER TABLE llx_element_time CHANGE COLUMN task_date element_date date; +ALTER TABLE llx_element_time CHANGE COLUMN task_datehour element_datehour datetime; +ALTER TABLE llx_element_time CHANGE COLUMN task_date_withhour element_date_withhour integer; +ALTER TABLE llx_element_time CHANGE COLUMN task_duration element_duration double; +ALTER TABLE llx_element_time ADD COLUMN elementtype varchar(32) NOT NULL DEFAULT 'task' AFTER fk_element; + +DROP INDEX idx_projet_task_time_task on llx_element_time; +DROP INDEX idx_projet_task_time_date on llx_element_time; +DROP INDEX idx_projet_task_time_datehour on llx_element_time; + +ALTER TABLE llx_element_time ADD INDEX idx_element_time_task (fk_element); +ALTER TABLE llx_element_time ADD INDEX idx_element_time_date (element_date); +ALTER TABLE llx_element_time ADD INDEX idx_element_time_datehour (element_datehour); diff --git a/htdocs/install/mysql/tables/llx_projet_task_time.key.sql b/htdocs/install/mysql/tables/llx_element_time.key.sql similarity index 73% rename from htdocs/install/mysql/tables/llx_projet_task_time.key.sql rename to htdocs/install/mysql/tables/llx_element_time.key.sql index 5acb17bb712..5de06450e75 100644 --- a/htdocs/install/mysql/tables/llx_projet_task_time.key.sql +++ b/htdocs/install/mysql/tables/llx_element_time.key.sql @@ -1,5 +1,6 @@ -- =========================================================================== -- Copyright (C) 2014 Laurent Destailleur +-- Copyright (C) 2023 Gauthier VERDOL -- -- This program is free software; you can redistribute it and/or modify -- it under the terms of the GNU General Public License as published by @@ -16,7 +17,7 @@ -- -- =========================================================================== -ALTER TABLE llx_projet_task_time ADD INDEX idx_projet_task_time_task (fk_task); -ALTER TABLE llx_projet_task_time ADD INDEX idx_projet_task_time_date (task_date); -ALTER TABLE llx_projet_task_time ADD INDEX idx_projet_task_time_datehour (task_datehour); +ALTER TABLE llx_element_time ADD INDEX idx_element_time_task (fk_element); +ALTER TABLE llx_element_time ADD INDEX idx_element_time_date (element_date); +ALTER TABLE llx_element_time ADD INDEX idx_element_time_datehour (element_datehour); diff --git a/htdocs/install/mysql/tables/llx_projet_task_time.sql b/htdocs/install/mysql/tables/llx_projet_task_time.sql deleted file mode 100644 index e91e50b5721..00000000000 --- a/htdocs/install/mysql/tables/llx_projet_task_time.sql +++ /dev/null @@ -1,38 +0,0 @@ --- =========================================================================== --- Copyright (C) 2005 Rodolphe Quiedeville --- --- This program 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. --- --- This program 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 this program. If not, see . --- --- =========================================================================== - -create table llx_projet_task_time -( - rowid integer AUTO_INCREMENT PRIMARY KEY, - fk_task integer NOT NULL, - task_date date, -- only the day - task_datehour datetime, -- day + hour - task_date_withhour integer DEFAULT 0, -- 0 by default, 1 if date was entered with start hour - task_duration double, - fk_product integer NULL, - fk_user integer, - thm double(24,8), - invoice_id integer DEFAULT NULL, -- If we need to invoice each line of timespent, we can save invoice id here - invoice_line_id integer DEFAULT NULL, -- If we need to invoice each line of timespent, we can save invoice line id here - intervention_id integer DEFAULT NULL, -- If we need to have an intervention line for each line of timespent, we can save intervention id here - intervention_line_id integer DEFAULT NULL, -- If we need to have an intervention line of timespent line, we can save intervention line id here - import_key varchar(14), -- Import key - datec datetime, -- date creation time - tms timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, -- last modification date - note text -- A comment -)ENGINE=innodb;