From d61e32917a525d49ba556cbb8107821b9947a54a Mon Sep 17 00:00:00 2001 From: guillermo Date: Fri, 21 Jun 2024 13:22:59 +0200 Subject: [PATCH 01/10] feat: refs #7562 Created deleteDeprecatedObjects --- db/dump/fixtures.after.sql | 4 +- .../util/events/deleteDeprecatedObjects.sql | 8 ++ .../procedures/deleteDeprecatedObjects.sql | 88 +++++++++++++++++++ .../11113-bronzeDendro/00-firstScript.sql | 22 +++++ 4 files changed, 120 insertions(+), 2 deletions(-) create mode 100644 db/routines/util/events/deleteDeprecatedObjects.sql create mode 100644 db/routines/util/procedures/deleteDeprecatedObjects.sql create mode 100644 db/versions/11113-bronzeDendro/00-firstScript.sql diff --git a/db/dump/fixtures.after.sql b/db/dump/fixtures.after.sql index 562ea02d8..a276422e3 100644 --- a/db/dump/fixtures.after.sql +++ b/db/dump/fixtures.after.sql @@ -7,8 +7,8 @@ SET foreign_key_checks = 0; -- XXX: vn-database -INSERT INTO util.config (id, environment, mockTime, mockUtcTime, mockEnabled) - VALUES (1, 'local', '2001-01-01 12:00:00', '2001-01-01 11:00:00', TRUE); +INSERT INTO util.config (id, environment, mockTime, mockUtcTime, mockEnabled, daysKeepDeprecatedObjects) + VALUES (1, 'local', '2001-01-01 12:00:00', '2001-01-01 11:00:00', TRUE, 60); INSERT INTO util.binlogQueue (code,logName, `position`) VALUES ('mylogger', 'bin.000001', 4); diff --git a/db/routines/util/events/deleteDeprecatedObjects.sql b/db/routines/util/events/deleteDeprecatedObjects.sql new file mode 100644 index 000000000..0d7878a28 --- /dev/null +++ b/db/routines/util/events/deleteDeprecatedObjects.sql @@ -0,0 +1,8 @@ +DELIMITER $$ +CREATE OR REPLACE DEFINER=`root`@`localhost` EVENT `util`.`deleteDeprecatedObjects` + ON SCHEDULE EVERY 1 DAY + STARTS '2024-06-09 00:01:00.000' + ON COMPLETION PRESERVE + ENABLE +DO CALL deleteDeprecatedObjects$$ +DELIMITER ; diff --git a/db/routines/util/procedures/deleteDeprecatedObjects.sql b/db/routines/util/procedures/deleteDeprecatedObjects.sql new file mode 100644 index 000000000..a46d806d7 --- /dev/null +++ b/db/routines/util/procedures/deleteDeprecatedObjects.sql @@ -0,0 +1,88 @@ +DELIMITER $$ +CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `util`.`deleteDeprecatedObjects`() + MODIFIES SQL DATA +BEGIN +/** + * Elimina objetos deprecados de la base de datos + */ + DECLARE vQuery TEXT; + DECLARE vDated DATE + DEFAULT ( + SELECT CURDATE() - INTERVAL daysKeepDeprecatedObjects DAY + FROM config + ); + DECLARE vDone BOOL; + + DECLARE vObjects CURSOR FOR + SELECT CONCAT('ALTER TABLE ', c.TABLE_SCHEMA, '.', c.TABLE_NAME, ' DROP PRIMARY KEY;') + FROM information_schema.`COLUMNS` c + LEFT JOIN information_schema.`VIEWS` v ON v.TABLE_SCHEMA = c.TABLE_SCHEMA + AND v.TABLE_NAME = c.TABLE_NAME + JOIN information_schema.STATISTICS s ON s.TABLE_SCHEMA = c.TABLE_SCHEMA + AND s.TABLE_NAME = c.TABLE_NAME + AND s.COLUMN_NAME = c.COLUMN_NAME + WHERE c.COLUMN_NAME LIKE '%\_\_' + AND REGEXP_SUBSTR(c.COLUMN_COMMENT, '[0-9]{4}-[0-9]{2}-[0-9]{2}') < vDated + AND v.TABLE_NAME IS NULL + AND s.INDEX_NAME = 'PRIMARY' + UNION ALL + SELECT CONCAT('ALTER TABLE ', c.TABLE_SCHEMA, '.', c.TABLE_NAME, ' DROP FOREIGN KEY ', kcu.CONSTRAINT_NAME, ';') + FROM information_schema.`COLUMNS` c + LEFT JOIN information_schema.`VIEWS` v ON v.TABLE_SCHEMA = c.TABLE_SCHEMA + AND v.TABLE_NAME = c.TABLE_NAME + JOIN information_schema.KEY_COLUMN_USAGE kcu ON kcu.TABLE_SCHEMA = c.TABLE_SCHEMA + AND kcu.TABLE_NAME = c.TABLE_NAME + AND kcu.COLUMN_NAME = c.COLUMN_NAME + WHERE c.COLUMN_NAME LIKE '%\_\_' + AND REGEXP_SUBSTR(c.COLUMN_COMMENT, '[0-9]{4}-[0-9]{2}-[0-9]{2}') < vDated + AND v.TABLE_NAME IS NULL + AND kcu.REFERENCED_COLUMN_NAME IS NOT NULL + UNION ALL + SELECT CONCAT('ALTER TABLE ', c.TABLE_SCHEMA, '.', c.TABLE_NAME, ' DROP COLUMN ', c.COLUMN_NAME, ';') + FROM information_schema.`COLUMNS` c + LEFT JOIN information_schema.`VIEWS` v ON v.TABLE_SCHEMA = c.TABLE_SCHEMA + AND v.TABLE_NAME = c.TABLE_NAME + LEFT JOIN information_schema.KEY_COLUMN_USAGE kcu ON kcu.TABLE_SCHEMA = c.TABLE_SCHEMA + AND kcu.TABLE_NAME = c.TABLE_NAME + AND kcu.COLUMN_NAME = c.COLUMN_NAME + WHERE c.COLUMN_NAME LIKE '%\_\_' + AND REGEXP_SUBSTR(c.COLUMN_COMMENT, '[0-9]{4}-[0-9]{2}-[0-9]{2}') < vDated + AND v.TABLE_NAME IS NULL + UNION ALL + SELECT CONCAT('DROP TABLE ', TABLE_SCHEMA, '.', TABLE_NAME, ';') + FROM information_schema.TABLES + WHERE TABLE_NAME LIKE '%\_\_' + AND REGEXP_SUBSTR(TABLE_COMMENT, '[0-9]{4}-[0-9]{2}-[0-9]{2}') < vDated; + + DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE; + + DECLARE EXIT HANDLER FOR SQLEXCEPTION + BEGIN + CALL mail_insert( + 'cau@verdnatura.es', + NULL, + 'Error en la eliminación automática de objetos deprecados', + CONCAT('
', vQuery, '
', + '

Revisa la tabla util.eventLog para más detalles.

') + ); + RESIGNAL; + END; + + IF vDated IS NULL THEN + CALL throw('Variable config not set'); + END IF; + + OPEN vObjects; + l: LOOP + SET vDone = FALSE; + FETCH vObjects INTO vQuery; + + IF vDone THEN + LEAVE l; + END IF; + + CALL `exec`(vQuery); + END LOOP; + CLOSE vObjects; +END$$ +DELIMITER ; diff --git a/db/versions/11113-bronzeDendro/00-firstScript.sql b/db/versions/11113-bronzeDendro/00-firstScript.sql new file mode 100644 index 000000000..b9a324c5e --- /dev/null +++ b/db/versions/11113-bronzeDendro/00-firstScript.sql @@ -0,0 +1,22 @@ +ALTER TABLE util.config + ADD daysKeepDeprecatedObjects int(11) unsigned NULL COMMENT 'Número de días que se mantendrán los objetos deprecados.'; + +UPDATE IGNORE util.config + SET daysKeepDeprecatedObjects = 60; + +ALTER TABLE IF EXISTS `vn`.`payrollWorker` + MODIFY COLUMN IF EXISTS `nss__` varchar(23) NOT NULL COMMENT '@deprecated 2024-03-15 refs #6738', + MODIFY COLUMN IF EXISTS `codpuesto__` int(10) NOT NULL COMMENT '@deprecated 2024-03-15 refs #6738', + MODIFY COLUMN IF EXISTS `codcontrato__` int(10) NOT NULL COMMENT '@deprecated 2024-03-15 refs #6738', + MODIFY COLUMN IF EXISTS `FAntiguedad__` date NOT NULL COMMENT '@deprecated 2024-03-15 refs #6738', + MODIFY COLUMN IF EXISTS `grupotarifa__` int(10) NOT NULL COMMENT '@deprecated 2024-03-15 refs #6738', + MODIFY COLUMN IF EXISTS `codcategoria__` int(10) NOT NULL COMMENT '@deprecated 2024-03-15 refs #6738', + MODIFY COLUMN IF EXISTS `ContratoTemporal__` tinyint(1) NOT NULL DEFAULT 0 COMMENT '@deprecated 2024-03-15 refs #6738'; + +ALTER TABLE IF EXISTS `vn`.`payrollWorkCenter` + MODIFY COLUMN IF EXISTS `Centro__` varchar(255) NOT NULL COMMENT '@deprecated 2024-03-15 refs #6738', + MODIFY COLUMN IF EXISTS `nss_cotizacion__` varchar(15) NOT NULL COMMENT '@deprecated 2024-03-15 refs #6738', + MODIFY COLUMN IF EXISTS `domicilio__` varchar(255) NOT NULL COMMENT '@deprecated 2024-03-15 refs #6738', + MODIFY COLUMN IF EXISTS `poblacion__` varchar(45) NOT NULL COMMENT '@deprecated 2024-03-15 refs #6738', + MODIFY COLUMN IF EXISTS `cp__` varchar(5) NOT NULL COMMENT '@deprecated 2024-03-15 refs #6738', + MODIFY COLUMN IF EXISTS `empresa_id__` int(10) NOT NULL COMMENT '@deprecated 2024-03-15 refs #6738'; From c330e8c7156a55b9b99c4f7fa1e66aadcf894af0 Mon Sep 17 00:00:00 2001 From: guillermo Date: Fri, 21 Jun 2024 13:24:20 +0200 Subject: [PATCH 02/10] feat: refs #7562 Minor change --- db/routines/util/procedures/deleteDeprecatedObjects.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db/routines/util/procedures/deleteDeprecatedObjects.sql b/db/routines/util/procedures/deleteDeprecatedObjects.sql index a46d806d7..5911e0ab0 100644 --- a/db/routines/util/procedures/deleteDeprecatedObjects.sql +++ b/db/routines/util/procedures/deleteDeprecatedObjects.sql @@ -8,7 +8,7 @@ BEGIN DECLARE vQuery TEXT; DECLARE vDated DATE DEFAULT ( - SELECT CURDATE() - INTERVAL daysKeepDeprecatedObjects DAY + SELECT VN_CURDATE() - INTERVAL daysKeepDeprecatedObjects DAY FROM config ); DECLARE vDone BOOL; From c0668d054f86894f8e3f6ff6a4f7b3e02519266d Mon Sep 17 00:00:00 2001 From: guillermo Date: Fri, 21 Jun 2024 13:51:33 +0200 Subject: [PATCH 03/10] feat: refs #7562 Changes --- db/dump/fixtures.after.sql | 4 +- .../procedures/deleteDeprecatedObjects.sql | 38 +++++++++++-------- .../11113-bronzeDendro/00-firstScript.sql | 6 ++- 3 files changed, 29 insertions(+), 19 deletions(-) diff --git a/db/dump/fixtures.after.sql b/db/dump/fixtures.after.sql index a276422e3..1353e481b 100644 --- a/db/dump/fixtures.after.sql +++ b/db/dump/fixtures.after.sql @@ -7,8 +7,8 @@ SET foreign_key_checks = 0; -- XXX: vn-database -INSERT INTO util.config (id, environment, mockTime, mockUtcTime, mockEnabled, daysKeepDeprecatedObjects) - VALUES (1, 'local', '2001-01-01 12:00:00', '2001-01-01 11:00:00', TRUE, 60); +INSERT INTO util.config (id, environment, mockTime, mockUtcTime, mockEnabled, dateRegex, deprecatedMarkRegex, daysKeepDeprecatedObjects) + VALUES (1, 'local', '2001-01-01 12:00:00', '2001-01-01 11:00:00', TRUE, '[0-9]{4}-[0-9]{2}-[0-9]{2}', '__$', 60); INSERT INTO util.binlogQueue (code,logName, `position`) VALUES ('mylogger', 'bin.000001', 4); diff --git a/db/routines/util/procedures/deleteDeprecatedObjects.sql b/db/routines/util/procedures/deleteDeprecatedObjects.sql index 5911e0ab0..729f3faf1 100644 --- a/db/routines/util/procedures/deleteDeprecatedObjects.sql +++ b/db/routines/util/procedures/deleteDeprecatedObjects.sql @@ -6,11 +6,9 @@ BEGIN * Elimina objetos deprecados de la base de datos */ DECLARE vQuery TEXT; - DECLARE vDated DATE - DEFAULT ( - SELECT VN_CURDATE() - INTERVAL daysKeepDeprecatedObjects DAY - FROM config - ); + DECLARE vDated DATE; + DECLARE vDateRegex VARCHAR(255); + DECLARE vMarkRegex VARCHAR(255); DECLARE vDone BOOL; DECLARE vObjects CURSOR FOR @@ -21,8 +19,8 @@ BEGIN JOIN information_schema.STATISTICS s ON s.TABLE_SCHEMA = c.TABLE_SCHEMA AND s.TABLE_NAME = c.TABLE_NAME AND s.COLUMN_NAME = c.COLUMN_NAME - WHERE c.COLUMN_NAME LIKE '%\_\_' - AND REGEXP_SUBSTR(c.COLUMN_COMMENT, '[0-9]{4}-[0-9]{2}-[0-9]{2}') < vDated + WHERE c.COLUMN_NAME REGEXP vMarkRegex COLLATE utf8mb3_unicode_ci + AND REGEXP_SUBSTR(c.COLUMN_COMMENT, vDateRegex COLLATE utf8mb3_unicode_ci) < vDated AND v.TABLE_NAME IS NULL AND s.INDEX_NAME = 'PRIMARY' UNION ALL @@ -33,8 +31,8 @@ BEGIN JOIN information_schema.KEY_COLUMN_USAGE kcu ON kcu.TABLE_SCHEMA = c.TABLE_SCHEMA AND kcu.TABLE_NAME = c.TABLE_NAME AND kcu.COLUMN_NAME = c.COLUMN_NAME - WHERE c.COLUMN_NAME LIKE '%\_\_' - AND REGEXP_SUBSTR(c.COLUMN_COMMENT, '[0-9]{4}-[0-9]{2}-[0-9]{2}') < vDated + WHERE c.COLUMN_NAME REGEXP vMarkRegex COLLATE utf8mb3_unicode_ci + AND REGEXP_SUBSTR(c.COLUMN_COMMENT, vDateRegex COLLATE utf8mb3_unicode_ci) < vDated AND v.TABLE_NAME IS NULL AND kcu.REFERENCED_COLUMN_NAME IS NOT NULL UNION ALL @@ -45,20 +43,20 @@ BEGIN LEFT JOIN information_schema.KEY_COLUMN_USAGE kcu ON kcu.TABLE_SCHEMA = c.TABLE_SCHEMA AND kcu.TABLE_NAME = c.TABLE_NAME AND kcu.COLUMN_NAME = c.COLUMN_NAME - WHERE c.COLUMN_NAME LIKE '%\_\_' - AND REGEXP_SUBSTR(c.COLUMN_COMMENT, '[0-9]{4}-[0-9]{2}-[0-9]{2}') < vDated + WHERE c.COLUMN_NAME REGEXP vMarkRegex COLLATE utf8mb3_unicode_ci + AND REGEXP_SUBSTR(c.COLUMN_COMMENT, vDateRegex COLLATE utf8mb3_unicode_ci) < vDated AND v.TABLE_NAME IS NULL UNION ALL SELECT CONCAT('DROP TABLE ', TABLE_SCHEMA, '.', TABLE_NAME, ';') FROM information_schema.TABLES - WHERE TABLE_NAME LIKE '%\_\_' - AND REGEXP_SUBSTR(TABLE_COMMENT, '[0-9]{4}-[0-9]{2}-[0-9]{2}') < vDated; + WHERE TABLE_NAME REGEXP vMarkRegex COLLATE utf8mb3_unicode_ci + AND REGEXP_SUBSTR(TABLE_COMMENT, vDateRegex COLLATE utf8mb3_unicode_ci) < vDated; DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE; DECLARE EXIT HANDLER FOR SQLEXCEPTION BEGIN - CALL mail_insert( + CALL vn.mail_insert( 'cau@verdnatura.es', NULL, 'Error en la eliminación automática de objetos deprecados', @@ -68,8 +66,16 @@ BEGIN RESIGNAL; END; - IF vDated IS NULL THEN - CALL throw('Variable config not set'); + SELECT dateRegex, + deprecatedMarkRegex, + VN_CURDATE() - INTERVAL daysKeepDeprecatedObjects DAY + INTO vDateRegex, + vMarkRegex, + vDated + FROM config; + + IF vDateRegex IS NULL OR vMarkRegex IS NULL OR vDated IS NULL THEN + CALL throw('Some config parameters are not set'); END IF; OPEN vObjects; diff --git a/db/versions/11113-bronzeDendro/00-firstScript.sql b/db/versions/11113-bronzeDendro/00-firstScript.sql index b9a324c5e..98ac69966 100644 --- a/db/versions/11113-bronzeDendro/00-firstScript.sql +++ b/db/versions/11113-bronzeDendro/00-firstScript.sql @@ -1,8 +1,12 @@ ALTER TABLE util.config + ADD COLUMN dateRegex varchar(255) NULL COMMENT 'Expresión regular para obtener las fechas.', + ADD deprecatedMarkRegex varchar(255) NULL COMMENT 'Expresión regular para obtener los objetos deprecados.', ADD daysKeepDeprecatedObjects int(11) unsigned NULL COMMENT 'Número de días que se mantendrán los objetos deprecados.'; UPDATE IGNORE util.config - SET daysKeepDeprecatedObjects = 60; + SET dateRegex = '[0-9]{4}-[0-9]{2}-[0-9]{2}', + deprecatedMarkRegex = '__$', + daysKeepDeprecatedObjects = 60; ALTER TABLE IF EXISTS `vn`.`payrollWorker` MODIFY COLUMN IF EXISTS `nss__` varchar(23) NOT NULL COMMENT '@deprecated 2024-03-15 refs #6738', From aedc8071e1e8175a98c33add6b1c60ff9ffe7a97 Mon Sep 17 00:00:00 2001 From: guillermo Date: Fri, 21 Jun 2024 14:27:22 +0200 Subject: [PATCH 04/10] feat: refs #7562 Changes --- db/routines/util/procedures/deleteDeprecatedObjects.sql | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/db/routines/util/procedures/deleteDeprecatedObjects.sql b/db/routines/util/procedures/deleteDeprecatedObjects.sql index 729f3faf1..a251c3d98 100644 --- a/db/routines/util/procedures/deleteDeprecatedObjects.sql +++ b/db/routines/util/procedures/deleteDeprecatedObjects.sql @@ -23,7 +23,7 @@ BEGIN AND REGEXP_SUBSTR(c.COLUMN_COMMENT, vDateRegex COLLATE utf8mb3_unicode_ci) < vDated AND v.TABLE_NAME IS NULL AND s.INDEX_NAME = 'PRIMARY' - UNION ALL + UNION SELECT CONCAT('ALTER TABLE ', c.TABLE_SCHEMA, '.', c.TABLE_NAME, ' DROP FOREIGN KEY ', kcu.CONSTRAINT_NAME, ';') FROM information_schema.`COLUMNS` c LEFT JOIN information_schema.`VIEWS` v ON v.TABLE_SCHEMA = c.TABLE_SCHEMA @@ -35,7 +35,7 @@ BEGIN AND REGEXP_SUBSTR(c.COLUMN_COMMENT, vDateRegex COLLATE utf8mb3_unicode_ci) < vDated AND v.TABLE_NAME IS NULL AND kcu.REFERENCED_COLUMN_NAME IS NOT NULL - UNION ALL + UNION SELECT CONCAT('ALTER TABLE ', c.TABLE_SCHEMA, '.', c.TABLE_NAME, ' DROP COLUMN ', c.COLUMN_NAME, ';') FROM information_schema.`COLUMNS` c LEFT JOIN information_schema.`VIEWS` v ON v.TABLE_SCHEMA = c.TABLE_SCHEMA @@ -46,7 +46,7 @@ BEGIN WHERE c.COLUMN_NAME REGEXP vMarkRegex COLLATE utf8mb3_unicode_ci AND REGEXP_SUBSTR(c.COLUMN_COMMENT, vDateRegex COLLATE utf8mb3_unicode_ci) < vDated AND v.TABLE_NAME IS NULL - UNION ALL + UNION SELECT CONCAT('DROP TABLE ', TABLE_SCHEMA, '.', TABLE_NAME, ';') FROM information_schema.TABLES WHERE TABLE_NAME REGEXP vMarkRegex COLLATE utf8mb3_unicode_ci From 2ba391fc85bacc338914002bdab00c449339e188 Mon Sep 17 00:00:00 2001 From: guillermo Date: Mon, 2 Sep 2024 07:57:00 +0200 Subject: [PATCH 05/10] feat: refs #7562 Deleted deleteDeprecatedObjects objects --- .../util/events/deleteDeprecatedObjects.sql | 8 -- .../procedures/deleteDeprecatedObjects.sql | 94 ------------------- 2 files changed, 102 deletions(-) delete mode 100644 db/routines/util/events/deleteDeprecatedObjects.sql delete mode 100644 db/routines/util/procedures/deleteDeprecatedObjects.sql diff --git a/db/routines/util/events/deleteDeprecatedObjects.sql b/db/routines/util/events/deleteDeprecatedObjects.sql deleted file mode 100644 index 0d7878a28..000000000 --- a/db/routines/util/events/deleteDeprecatedObjects.sql +++ /dev/null @@ -1,8 +0,0 @@ -DELIMITER $$ -CREATE OR REPLACE DEFINER=`root`@`localhost` EVENT `util`.`deleteDeprecatedObjects` - ON SCHEDULE EVERY 1 DAY - STARTS '2024-06-09 00:01:00.000' - ON COMPLETION PRESERVE - ENABLE -DO CALL deleteDeprecatedObjects$$ -DELIMITER ; diff --git a/db/routines/util/procedures/deleteDeprecatedObjects.sql b/db/routines/util/procedures/deleteDeprecatedObjects.sql deleted file mode 100644 index a251c3d98..000000000 --- a/db/routines/util/procedures/deleteDeprecatedObjects.sql +++ /dev/null @@ -1,94 +0,0 @@ -DELIMITER $$ -CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `util`.`deleteDeprecatedObjects`() - MODIFIES SQL DATA -BEGIN -/** - * Elimina objetos deprecados de la base de datos - */ - DECLARE vQuery TEXT; - DECLARE vDated DATE; - DECLARE vDateRegex VARCHAR(255); - DECLARE vMarkRegex VARCHAR(255); - DECLARE vDone BOOL; - - DECLARE vObjects CURSOR FOR - SELECT CONCAT('ALTER TABLE ', c.TABLE_SCHEMA, '.', c.TABLE_NAME, ' DROP PRIMARY KEY;') - FROM information_schema.`COLUMNS` c - LEFT JOIN information_schema.`VIEWS` v ON v.TABLE_SCHEMA = c.TABLE_SCHEMA - AND v.TABLE_NAME = c.TABLE_NAME - JOIN information_schema.STATISTICS s ON s.TABLE_SCHEMA = c.TABLE_SCHEMA - AND s.TABLE_NAME = c.TABLE_NAME - AND s.COLUMN_NAME = c.COLUMN_NAME - WHERE c.COLUMN_NAME REGEXP vMarkRegex COLLATE utf8mb3_unicode_ci - AND REGEXP_SUBSTR(c.COLUMN_COMMENT, vDateRegex COLLATE utf8mb3_unicode_ci) < vDated - AND v.TABLE_NAME IS NULL - AND s.INDEX_NAME = 'PRIMARY' - UNION - SELECT CONCAT('ALTER TABLE ', c.TABLE_SCHEMA, '.', c.TABLE_NAME, ' DROP FOREIGN KEY ', kcu.CONSTRAINT_NAME, ';') - FROM information_schema.`COLUMNS` c - LEFT JOIN information_schema.`VIEWS` v ON v.TABLE_SCHEMA = c.TABLE_SCHEMA - AND v.TABLE_NAME = c.TABLE_NAME - JOIN information_schema.KEY_COLUMN_USAGE kcu ON kcu.TABLE_SCHEMA = c.TABLE_SCHEMA - AND kcu.TABLE_NAME = c.TABLE_NAME - AND kcu.COLUMN_NAME = c.COLUMN_NAME - WHERE c.COLUMN_NAME REGEXP vMarkRegex COLLATE utf8mb3_unicode_ci - AND REGEXP_SUBSTR(c.COLUMN_COMMENT, vDateRegex COLLATE utf8mb3_unicode_ci) < vDated - AND v.TABLE_NAME IS NULL - AND kcu.REFERENCED_COLUMN_NAME IS NOT NULL - UNION - SELECT CONCAT('ALTER TABLE ', c.TABLE_SCHEMA, '.', c.TABLE_NAME, ' DROP COLUMN ', c.COLUMN_NAME, ';') - FROM information_schema.`COLUMNS` c - LEFT JOIN information_schema.`VIEWS` v ON v.TABLE_SCHEMA = c.TABLE_SCHEMA - AND v.TABLE_NAME = c.TABLE_NAME - LEFT JOIN information_schema.KEY_COLUMN_USAGE kcu ON kcu.TABLE_SCHEMA = c.TABLE_SCHEMA - AND kcu.TABLE_NAME = c.TABLE_NAME - AND kcu.COLUMN_NAME = c.COLUMN_NAME - WHERE c.COLUMN_NAME REGEXP vMarkRegex COLLATE utf8mb3_unicode_ci - AND REGEXP_SUBSTR(c.COLUMN_COMMENT, vDateRegex COLLATE utf8mb3_unicode_ci) < vDated - AND v.TABLE_NAME IS NULL - UNION - SELECT CONCAT('DROP TABLE ', TABLE_SCHEMA, '.', TABLE_NAME, ';') - FROM information_schema.TABLES - WHERE TABLE_NAME REGEXP vMarkRegex COLLATE utf8mb3_unicode_ci - AND REGEXP_SUBSTR(TABLE_COMMENT, vDateRegex COLLATE utf8mb3_unicode_ci) < vDated; - - DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE; - - DECLARE EXIT HANDLER FOR SQLEXCEPTION - BEGIN - CALL vn.mail_insert( - 'cau@verdnatura.es', - NULL, - 'Error en la eliminación automática de objetos deprecados', - CONCAT('
', vQuery, '
', - '

Revisa la tabla util.eventLog para más detalles.

') - ); - RESIGNAL; - END; - - SELECT dateRegex, - deprecatedMarkRegex, - VN_CURDATE() - INTERVAL daysKeepDeprecatedObjects DAY - INTO vDateRegex, - vMarkRegex, - vDated - FROM config; - - IF vDateRegex IS NULL OR vMarkRegex IS NULL OR vDated IS NULL THEN - CALL throw('Some config parameters are not set'); - END IF; - - OPEN vObjects; - l: LOOP - SET vDone = FALSE; - FETCH vObjects INTO vQuery; - - IF vDone THEN - LEAVE l; - END IF; - - CALL `exec`(vQuery); - END LOOP; - CLOSE vObjects; -END$$ -DELIMITER ; From 7486c4a3c6d5eefc8046f5997f88d8e0216d7532 Mon Sep 17 00:00:00 2001 From: guillermo Date: Fri, 6 Sep 2024 07:48:53 +0200 Subject: [PATCH 06/10] feat: refs #7562 refs #7532 Requested changes --- db/dump/fixtures.after.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/db/dump/fixtures.after.sql b/db/dump/fixtures.after.sql index b3fcad6af..59730d592 100644 --- a/db/dump/fixtures.after.sql +++ b/db/dump/fixtures.after.sql @@ -7,8 +7,8 @@ SET foreign_key_checks = 0; -- XXX: vn-database -INSERT INTO util.config (id, environment, mockTime, mockUtcTime, mockEnabled, dateRegex, deprecatedMarkRegex, daysKeepDeprecatedObjects) - VALUES (1, 'local', '2001-01-01 12:00:00', '2001-01-01 11:00:00', TRUE, '[0-9]{4}-[0-9]{2}-[0-9]{2}', '__$', 60); +INSERT INTO util.config (id, environment, mockTime, mockUtcTime, mockEnabled) + VALUES (1, 'local', '2001-01-01 12:00:00', '2001-01-01 11:00:00', TRUE); /* #5483 INSERT INTO vn.entryConfig (defaultEntry, mailToNotify, inventorySupplierFk, maxLockTime, defaultSupplierFk) From 4daea90b1b6ecc05b43aa1b4411ebe044db5108e Mon Sep 17 00:00:00 2001 From: guillermo Date: Fri, 6 Sep 2024 08:25:21 +0200 Subject: [PATCH 07/10] feat: refs #7562 refs #7759 Requested changes --- myt.config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/myt.config.yml b/myt.config.yml index ffa4188b2..683090ecc 100755 --- a/myt.config.yml +++ b/myt.config.yml @@ -2,6 +2,7 @@ code: vn-database versionSchema: util replace: true sumViews: false +defaultDefiner: vn@localhost mockDate: '2001-01-01 12:00:00' subdir: db schemas: From bf1a43a23ec43d1a129e2b02ef03f301cd1ecd71 Mon Sep 17 00:00:00 2001 From: guillermo Date: Mon, 9 Sep 2024 14:43:16 +0200 Subject: [PATCH 08/10] refactor: refs #7900 Deleted sectorProdPriority column --- db/routines/vn/procedures/productionSectorList.sql | 1 - db/routines/vn/views/itemShelvingAvailable.sql | 1 - db/routines/vn2008/views/state.sql | 1 - db/versions/11222-azureCordyline/00-firstScript.sql | 1 + 4 files changed, 1 insertion(+), 3 deletions(-) create mode 100644 db/versions/11222-azureCordyline/00-firstScript.sql diff --git a/db/routines/vn/procedures/productionSectorList.sql b/db/routines/vn/procedures/productionSectorList.sql index f61ec7ec9..ed6eff147 100644 --- a/db/routines/vn/procedures/productionSectorList.sql +++ b/db/routines/vn/procedures/productionSectorList.sql @@ -55,7 +55,6 @@ BEGIN i.itemPackingTypeFk, isa.`size`, isa.Estado, - isa.sectorProdPriority, isa.available, isa.sectorFk, isa.matricula, diff --git a/db/routines/vn/views/itemShelvingAvailable.sql b/db/routines/vn/views/itemShelvingAvailable.sql index 561569285..15083e6cc 100644 --- a/db/routines/vn/views/itemShelvingAvailable.sql +++ b/db/routines/vn/views/itemShelvingAvailable.sql @@ -10,7 +10,6 @@ AS SELECT `s`.`id` AS `saleFk`, `s`.`concept` AS `concept`, `i`.`size` AS `size`, `st`.`name` AS `Estado`, - `st`.`sectorProdPriority` AS `sectorProdPriority`, `stock`.`visible` AS `available`, `stock`.`sectorFk` AS `sectorFk`, `stock`.`shelvingFk` AS `matricula`, diff --git a/db/routines/vn2008/views/state.sql b/db/routines/vn2008/views/state.sql index 63f6589af..9f7fcccd8 100644 --- a/db/routines/vn2008/views/state.sql +++ b/db/routines/vn2008/views/state.sql @@ -6,7 +6,6 @@ AS SELECT `s`.`id` AS `id`, `s`.`order` AS `order`, `s`.`alertLevel` AS `alert_level`, `s`.`code` AS `code`, - `s`.`sectorProdPriority` AS `sectorProdPriority`, `s`.`nextStateFk` AS `nextStateFk`, `s`.`isPreviousPreparable` AS `isPreviousPreparable`, `s`.`isPicked` AS `isPicked` diff --git a/db/versions/11222-azureCordyline/00-firstScript.sql b/db/versions/11222-azureCordyline/00-firstScript.sql new file mode 100644 index 000000000..c63228911 --- /dev/null +++ b/db/versions/11222-azureCordyline/00-firstScript.sql @@ -0,0 +1 @@ +ALTER TABLE vn.state DROP COLUMN sectorProdPriority; From 6075ec6518d919ab7f31075b975d9431a94dac95 Mon Sep 17 00:00:00 2001 From: guillermo Date: Thu, 12 Sep 2024 09:06:03 +0200 Subject: [PATCH 09/10] feat: refs #7562 Requested changes --- .../11113-bronzeDendro/00-firstScript.sql | 36 +++++++------------ 1 file changed, 13 insertions(+), 23 deletions(-) diff --git a/db/versions/11113-bronzeDendro/00-firstScript.sql b/db/versions/11113-bronzeDendro/00-firstScript.sql index 98ac69966..63db65378 100644 --- a/db/versions/11113-bronzeDendro/00-firstScript.sql +++ b/db/versions/11113-bronzeDendro/00-firstScript.sql @@ -1,26 +1,16 @@ -ALTER TABLE util.config - ADD COLUMN dateRegex varchar(255) NULL COMMENT 'Expresión regular para obtener las fechas.', - ADD deprecatedMarkRegex varchar(255) NULL COMMENT 'Expresión regular para obtener los objetos deprecados.', - ADD daysKeepDeprecatedObjects int(11) unsigned NULL COMMENT 'Número de días que se mantendrán los objetos deprecados.'; - -UPDATE IGNORE util.config - SET dateRegex = '[0-9]{4}-[0-9]{2}-[0-9]{2}', - deprecatedMarkRegex = '__$', - daysKeepDeprecatedObjects = 60; - ALTER TABLE IF EXISTS `vn`.`payrollWorker` - MODIFY COLUMN IF EXISTS `nss__` varchar(23) NOT NULL COMMENT '@deprecated 2024-03-15 refs #6738', - MODIFY COLUMN IF EXISTS `codpuesto__` int(10) NOT NULL COMMENT '@deprecated 2024-03-15 refs #6738', - MODIFY COLUMN IF EXISTS `codcontrato__` int(10) NOT NULL COMMENT '@deprecated 2024-03-15 refs #6738', - MODIFY COLUMN IF EXISTS `FAntiguedad__` date NOT NULL COMMENT '@deprecated 2024-03-15 refs #6738', - MODIFY COLUMN IF EXISTS `grupotarifa__` int(10) NOT NULL COMMENT '@deprecated 2024-03-15 refs #6738', - MODIFY COLUMN IF EXISTS `codcategoria__` int(10) NOT NULL COMMENT '@deprecated 2024-03-15 refs #6738', - MODIFY COLUMN IF EXISTS `ContratoTemporal__` tinyint(1) NOT NULL DEFAULT 0 COMMENT '@deprecated 2024-03-15 refs #6738'; + MODIFY COLUMN IF EXISTS `nss__` varchar(23) NOT NULL COMMENT '@deprecated 2024-03-15', + MODIFY COLUMN IF EXISTS `codpuesto__` int(10) NOT NULL COMMENT '@deprecated 2024-03-15', + MODIFY COLUMN IF EXISTS `codcontrato__` int(10) NOT NULL COMMENT '@deprecated 2024-03-15', + MODIFY COLUMN IF EXISTS `FAntiguedad__` date NOT NULL COMMENT '@deprecated 2024-03-15', + MODIFY COLUMN IF EXISTS `grupotarifa__` int(10) NOT NULL COMMENT '@deprecated 2024-03-15', + MODIFY COLUMN IF EXISTS `codcategoria__` int(10) NOT NULL COMMENT '@deprecated 2024-03-15', + MODIFY COLUMN IF EXISTS `ContratoTemporal__` tinyint(1) NOT NULL DEFAULT 0 COMMENT '@deprecated 2024-03-15'; ALTER TABLE IF EXISTS `vn`.`payrollWorkCenter` - MODIFY COLUMN IF EXISTS `Centro__` varchar(255) NOT NULL COMMENT '@deprecated 2024-03-15 refs #6738', - MODIFY COLUMN IF EXISTS `nss_cotizacion__` varchar(15) NOT NULL COMMENT '@deprecated 2024-03-15 refs #6738', - MODIFY COLUMN IF EXISTS `domicilio__` varchar(255) NOT NULL COMMENT '@deprecated 2024-03-15 refs #6738', - MODIFY COLUMN IF EXISTS `poblacion__` varchar(45) NOT NULL COMMENT '@deprecated 2024-03-15 refs #6738', - MODIFY COLUMN IF EXISTS `cp__` varchar(5) NOT NULL COMMENT '@deprecated 2024-03-15 refs #6738', - MODIFY COLUMN IF EXISTS `empresa_id__` int(10) NOT NULL COMMENT '@deprecated 2024-03-15 refs #6738'; + MODIFY COLUMN IF EXISTS `Centro__` varchar(255) NOT NULL COMMENT '@deprecated 2024-03-15', + MODIFY COLUMN IF EXISTS `nss_cotizacion__` varchar(15) NOT NULL COMMENT '@deprecated 2024-03-15', + MODIFY COLUMN IF EXISTS `domicilio__` varchar(255) NOT NULL COMMENT '@deprecated 2024-03-15', + MODIFY COLUMN IF EXISTS `poblacion__` varchar(45) NOT NULL COMMENT '@deprecated 2024-03-15', + MODIFY COLUMN IF EXISTS `cp__` varchar(5) NOT NULL COMMENT '@deprecated 2024-03-15', + MODIFY COLUMN IF EXISTS `empresa_id__` int(10) NOT NULL COMMENT '@deprecated 2024-03-15'; From b6cba2325aeefa88e5c50fd271c0beecfae43950 Mon Sep 17 00:00:00 2001 From: guillermo Date: Thu, 12 Sep 2024 11:02:41 +0200 Subject: [PATCH 10/10] feat: refs #7562 myt version increased to 1.6.10 --- package.json | 2 +- pnpm-lock.yaml | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 1d3b9d253..d50631eb7 100644 --- a/package.json +++ b/package.json @@ -60,7 +60,7 @@ "@babel/register": "^7.7.7", "@commitlint/cli": "^19.2.1", "@commitlint/config-conventional": "^19.1.0", - "@verdnatura/myt": "^1.6.9", + "@verdnatura/myt": "^1.6.10", "angular-mocks": "^1.7.9", "babel-jest": "^26.0.1", "babel-loader": "^8.2.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b4030d779..458ce647c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -143,8 +143,8 @@ devDependencies: specifier: ^19.1.0 version: 19.1.0 '@verdnatura/myt': - specifier: ^1.6.9 - version: 1.6.9 + specifier: ^1.6.10 + version: 1.6.10 angular-mocks: specifier: ^1.7.9 version: 1.8.3 @@ -2846,8 +2846,8 @@ packages: dev: false optional: true - /@verdnatura/myt@1.6.9: - resolution: {integrity: sha512-29IauYra9igfdPWwV4+pVV/tBXvIg0fkVHEpSz8Zz3G3lRtzm286FN2Kv6hZkxmD/F1n52O37jN9WLiLHDTW1Q==} + /@verdnatura/myt@1.6.10: + resolution: {integrity: sha512-fih/TFll5Sn/SxxafUmYh6CW0Qwpck8PpQ63/CKm4ya8rz8gYPq0THM2B5N8yEJ3PiolMg0wrWWas9j+taAh6w==} hasBin: true dependencies: '@sqltools/formatter': 1.2.5 @@ -3306,6 +3306,7 @@ packages: /are-we-there-yet@1.1.7: resolution: {integrity: sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==} + deprecated: This package is no longer supported. dependencies: delegates: 1.0.0 readable-stream: 2.3.8 @@ -6593,6 +6594,7 @@ packages: /gauge@2.7.4: resolution: {integrity: sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==} + deprecated: This package is no longer supported. dependencies: aproba: 1.2.0 console-control-strings: 1.1.0 @@ -10814,6 +10816,7 @@ packages: /npmlog@4.1.2: resolution: {integrity: sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==} + deprecated: This package is no longer supported. dependencies: are-we-there-yet: 1.1.7 console-control-strings: 1.1.0 @@ -11055,6 +11058,7 @@ packages: /osenv@0.1.5: resolution: {integrity: sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==} + deprecated: This package is no longer supported. dependencies: os-homedir: 1.0.2 os-tmpdir: 1.0.2