From 4046fe2282439265503f76c8ecf3de3846644021 Mon Sep 17 00:00:00 2001 From: Kitzunu <24550914+Kitzunu@users.noreply.github.com> Date: Sun, 30 May 2021 17:26:32 +0200 Subject: [PATCH] feat(DB/Version): Add date on update (#6006) --- apps/db_pendings/import.sh | 12 ++++++------ .../pending_db_auth/rev_1621715473238990700.sql | 4 ++++ .../rev_1621715444570678000.sql | 4 ++++ .../pending_db_world/rev_1621709841145351300.sql | 4 ++++ 4 files changed, 18 insertions(+), 6 deletions(-) create mode 100644 data/sql/updates/pending_db_auth/rev_1621715473238990700.sql create mode 100644 data/sql/updates/pending_db_characters/rev_1621715444570678000.sql create mode 100644 data/sql/updates/pending_db_world/rev_1621709841145351300.sql diff --git a/apps/db_pendings/import.sh b/apps/db_pendings/import.sh index 3abf53ce6..a2cb5e1c2 100644 --- a/apps/db_pendings/import.sh +++ b/apps/db_pendings/import.sh @@ -43,7 +43,6 @@ function import() { newVer=$dateToday"_"$cnt startTransaction="START TRANSACTION;"; - updHeader="ALTER TABLE version_db_"$db" CHANGE COLUMN "$oldVer" "$newVer" bit;"; endTransaction="COMMIT;"; newFile="$updPath/"$dateToday"_"$cnt".sql" @@ -65,14 +64,13 @@ function import() { echo "DELIMITER //" >> "$newFile"; echo "CREATE PROCEDURE updateDb ()" >> "$newFile"; echo "proc:BEGIN DECLARE OK VARCHAR(100) DEFAULT 'FALSE';" >> "$newFile"; - echo "SELECT COUNT(*) INTO @COLEXISTS" >> "$newFile"; - echo "FROM information_schema.COLUMNS" >> "$newFile"; - echo "WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'version_db_"$db"' AND COLUMN_NAME = '"$oldVer"';" >> "$newFile"; - echo "IF @COLEXISTS = 0 THEN LEAVE proc; END IF;" >> "$newFile"; + echo "SELECT date INTO @COLEXISTS" >> "$newFile"; + echo "FROM version_db_"$db >> "$newFile"; + echo "ORDER BY date DESC LIMIT 1;" >> "$newFile"; + echo "IF @COLEXISTS <> '"$oldVer"' THEN LEAVE proc; END IF;" >> "$newFile"; fi echo "$startTransaction" >> "$newFile"; - echo "$updHeader" >> "$newFile"; if [[ $isRev -eq 1 ]]; then echo "SELECT sql_rev INTO OK FROM version_db_"$db" WHERE sql_rev = '$rev'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;" >> "$newFile"; @@ -90,6 +88,8 @@ function import() { echo "-- END UPDATING QUERIES" >> "$newFile"; echo "--" >> "$newFile"; + echo "UPDATE version_db_"$db" SET date = '"$newVer"' WHERE sql_rev = '"$rev"';" >> "$newFile"; + echo "$endTransaction" >> "$newFile"; if [[ $isRev -eq 1 ]]; then diff --git a/data/sql/updates/pending_db_auth/rev_1621715473238990700.sql b/data/sql/updates/pending_db_auth/rev_1621715473238990700.sql new file mode 100644 index 000000000..ea657bd1a --- /dev/null +++ b/data/sql/updates/pending_db_auth/rev_1621715473238990700.sql @@ -0,0 +1,4 @@ +INSERT INTO `version_db_auth` (`sql_rev`) VALUES ('1621715473238990700'); + +ALTER TABLE `version_db_auth` + ADD COLUMN `date` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci' AFTER `required_rev`; diff --git a/data/sql/updates/pending_db_characters/rev_1621715444570678000.sql b/data/sql/updates/pending_db_characters/rev_1621715444570678000.sql new file mode 100644 index 000000000..69d949340 --- /dev/null +++ b/data/sql/updates/pending_db_characters/rev_1621715444570678000.sql @@ -0,0 +1,4 @@ +INSERT INTO `version_db_characters` (`sql_rev`) VALUES ('1621715444570678000'); + +ALTER TABLE `version_db_characters` + ADD COLUMN `date` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci' AFTER `required_rev`; diff --git a/data/sql/updates/pending_db_world/rev_1621709841145351300.sql b/data/sql/updates/pending_db_world/rev_1621709841145351300.sql new file mode 100644 index 000000000..c31c76481 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1621709841145351300.sql @@ -0,0 +1,4 @@ +INSERT INTO `version_db_world` (`sql_rev`) VALUES ('1621709841145351300'); + +ALTER TABLE `version_db_world` + ADD COLUMN `date` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci' AFTER `required_rev`;