feat: refs #6727 Added util logClean #2602
|
@ -0,0 +1,8 @@
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` EVENT `util`.`log_clean`
|
||||||
|
ON SCHEDULE EVERY 1 DAY
|
||||||
|
STARTS '2024-07-09 00:30:00.000'
|
||||||
|
ON COMPLETION PRESERVE
|
||||||
|
ENABLE
|
||||||
|
DO CALL util.log_clean$$
|
||||||
|
DELIMITER ;
|
|
@ -0,0 +1,54 @@
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `util`.`log_clean`()
|
||||||
|
BEGIN
|
||||||
|
/**
|
||||||
|
* Hace limpieza de los datos de las tablas log,
|
||||||
|
* dejando únicamente los días de retención configurados.
|
||||||
|
*/
|
||||||
|
DECLARE vSchemaName VARCHAR(65);
|
||||||
|
DECLARE vSchemaNameQuoted VARCHAR(65);
|
||||||
|
DECLARE vTableName VARCHAR(65);
|
||||||
|
DECLARE vTableNameQuoted VARCHAR(65);
|
||||||
|
DECLARE vRetentionDays INT;
|
||||||
|
DECLARE vStarted DATETIME;
|
||||||
|
DECLARE vDated DATE;
|
||||||
|
DECLARE vDone BOOL;
|
||||||
|
|
||||||
|
DECLARE vQueue CURSOR FOR
|
||||||
|
SELECT schemaName, tableName, retentionDays
|
||||||
|
FROM logCleanMultiConfig
|
||||||
|
ORDER BY `order`;
|
||||||
|
|
||||||
|
DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE;
|
||||||
|
|
||||||
|
OPEN vQueue;
|
||||||
|
l: LOOP
|
||||||
|
SET vDone = FALSE;
|
||||||
|
FETCH vQueue INTO vSchemaName, vTableName, vRetentionDays;
|
||||||
|
|
||||||
|
IF vDone THEN
|
||||||
|
LEAVE l;
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
IF vRetentionDays THEN
|
||||||
|
SET vStarted = VN_NOW();
|
||||||
|
SET vSchemaNameQuoted = quoteIdentifier(vSchemaName);
|
||||||
|
SET vTableNameQuoted = quoteIdentifier(vTableName);
|
||||||
|
SET vDated = VN_CURDATE() - INTERVAL vRetentionDays DAY;
|
||||||
|
|
||||||
|
EXECUTE IMMEDIATE CONCAT(
|
||||||
|
'DELETE FROM ', vSchemaNameQuoted,
|
||||||
|
'.', vTableNameQuoted,
|
||||||
|
" WHERE creationDate < '", vDated, "'"
|
||||||
|
);
|
||||||
|
|
||||||
|
UPDATE logCleanMultiConfig
|
||||||
|
SET `started` = vStarted,
|
||||||
|
`finished` = VN_NOW()
|
||||||
|
WHERE schemaName = vSchemaName
|
||||||
|
AND tableName = vTableName;
|
||||||
|
END IF;
|
||||||
|
END LOOP;
|
||||||
|
CLOSE vQueue;
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
|
@ -0,0 +1,13 @@
|
||||||
|
CREATE OR REPLACE TABLE `util`.`logCleanMultiConfig` (
|
||||||
guillermo marked this conversation as resolved
|
|||||||
|
`schemaName` varchar(64) NOT NULL,
|
||||||
|
`tableName` varchar(64) NOT NULL,
|
||||||
|
`retentionDays` int(11) DEFAULT NULL,
|
||||||
|
`order` int(11) DEFAULT NULL,
|
||||||
|
`started` datetime DEFAULT NULL,
|
||||||
|
`finished` datetime DEFAULT NULL,
|
||||||
|
PRIMARY KEY (`schemaName`,`tableName`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;
|
||||||
|
|
||||||
|
INSERT INTO `util`.`logCleanMultiConfig` (`schemaName`, `tableName`)
|
||||||
|
SELECT TABLE_SCHEMA, TABLE_NAME FROM information_schema.`COLUMNS`
|
||||||
|
WHERE COLUMN_NAME IN ('newInstance', 'newInstance');
|
|
@ -0,0 +1 @@
|
||||||
|
CREATE INDEX userLog_creationDate_IDX USING BTREE ON account.userLog (creationDate DESC);
|
|
@ -0,0 +1 @@
|
||||||
|
CREATE INDEX roleLog_creationDate_IDX USING BTREE ON account.roleLog (creationDate DESC);
|
|
@ -0,0 +1 @@
|
||||||
|
CREATE INDEX ACLLog_creationDate_IDX USING BTREE ON salix.ACLLog (creationDate DESC);
|
|
@ -0,0 +1 @@
|
||||||
|
CREATE INDEX supplierLog_creationDate_IDX USING BTREE ON vn.supplierLog (creationDate DESC);
|
|
@ -0,0 +1 @@
|
||||||
|
CREATE INDEX deviceProductionLog_creationDate_IDX USING BTREE ON vn.deviceProductionLog (creationDate DESC);
|
|
@ -0,0 +1 @@
|
||||||
|
CREATE INDEX routeLog_creationDate_IDX USING BTREE ON vn.routeLog (creationDate DESC);
|
|
@ -0,0 +1 @@
|
||||||
|
CREATE INDEX itemLog_creationDate_IDX USING BTREE ON vn.itemLog (creationDate DESC);
|
|
@ -0,0 +1 @@
|
||||||
|
CREATE INDEX userLog_creationDate_IDX USING BTREE ON vn.userLog (creationDate DESC);
|
|
@ -0,0 +1 @@
|
||||||
|
CREATE INDEX invoiceInLog_creationDate_IDX USING BTREE ON vn.invoiceInLog (creationDate DESC);
|
|
@ -0,0 +1 @@
|
||||||
|
CREATE INDEX zoneLog_creationDate_IDX USING BTREE ON vn.zoneLog (creationDate DESC);
|
|
@ -0,0 +1 @@
|
||||||
|
CREATE INDEX clientLog_creationDate_IDX USING BTREE ON vn.clientLog (creationDate DESC);
|
|
@ -0,0 +1 @@
|
||||||
|
CREATE INDEX workerLog_creationDate_IDX USING BTREE ON vn.workerLog (creationDate DESC);
|
|
@ -0,0 +1 @@
|
||||||
|
CREATE INDEX rateLog_creationDate_IDX USING BTREE ON vn.rateLog (creationDate DESC);
|
|
@ -0,0 +1 @@
|
||||||
|
CREATE INDEX claimLog_creationDate_IDX USING BTREE ON vn.claimLog (creationDate DESC);
|
|
@ -0,0 +1 @@
|
||||||
|
CREATE INDEX packingSiteDeviceLog_creationDate_IDX USING BTREE ON vn.packingSiteDeviceLog (creationDate DESC);
|
|
@ -0,0 +1 @@
|
||||||
|
CREATE INDEX travelLog_creationDate_IDX USING BTREE ON vn.travelLog (creationDate DESC);
|
|
@ -0,0 +1 @@
|
||||||
|
CREATE INDEX shelvingLog_creationDate_IDX USING BTREE ON vn.shelvingLog (creationDate DESC);
|
|
@ -0,0 +1 @@
|
||||||
|
CREATE INDEX productionConfigLog_creationDate_IDX USING BTREE ON vn.productionConfigLog (creationDate DESC);
|
|
@ -0,0 +1 @@
|
||||||
|
CREATE INDEX entryLog_creationDate_IDX USING BTREE ON vn.entryLog (creationDate DESC);
|
|
@ -0,0 +1 @@
|
||||||
|
CREATE INDEX agencyLog_creationDate_IDX USING BTREE ON vn.agencyLog (creationDate DESC);
|
|
@ -0,0 +1 @@
|
||||||
|
CREATE INDEX parkingLog_creationDate_IDX USING BTREE ON vn.parkingLog (creationDate DESC);
|
|
@ -0,0 +1 @@
|
||||||
|
CREATE INDEX bufferLog_creationDate_IDX USING BTREE ON srt.bufferLog (creationDate DESC);
|
|
@ -0,0 +1 @@
|
||||||
|
CREATE INDEX saleGroupLog_creationDate_IDX USING BTREE ON vn.saleGroupLog (creationDate DESC);
|
Loading…
Reference in New Issue
MultiConfig ya està consensuado? El nombre de la tabla se queda muy largo.
Sí, está consensuado y puesto en la wiki, es más. ya está hecho el cambio en DEV