implemented pending workflow for sql and PR
This commit is contained in:
Executable
+54
@@ -0,0 +1,54 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
CURRENT_PATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
|
||||||
|
source "$CURRENT_PATH/../bash_shared/includes.sh"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
UPDATES_PATH="$AC_PATH_ROOT/data/sql/updates/"
|
||||||
|
|
||||||
|
function import() {
|
||||||
|
folder="db_"$1
|
||||||
|
pendingPath="$AC_PATH_ROOT/data/sql/updates/pending_$folder"
|
||||||
|
updPath="$UPDATES_PATH/$folder"
|
||||||
|
|
||||||
|
latestUpd=`ls $updPath/ -1 | tail -n 1`
|
||||||
|
|
||||||
|
if [ -z $latestUpd ]; then
|
||||||
|
echo "FIRST UPDATE FILE MISSING!! DID YOU ARCHIVED IT?";
|
||||||
|
exit;
|
||||||
|
fi
|
||||||
|
|
||||||
|
dateToday=`date +%Y_%m_%d`
|
||||||
|
counter=0
|
||||||
|
|
||||||
|
dateLast=$latestUpd
|
||||||
|
tmp=${dateLast#*_*_*_}
|
||||||
|
oldCnt=${tmp%.sql}
|
||||||
|
oldDate=${dateLast%_$tmp}
|
||||||
|
|
||||||
|
if [ "$oldDate" = "$dateToday" ]; then
|
||||||
|
((counter=$oldCnt+1))
|
||||||
|
fi;
|
||||||
|
|
||||||
|
for entry in "$pendingPath"/*.sql
|
||||||
|
do
|
||||||
|
if [[ -e $entry ]]; then
|
||||||
|
updHeader="ALTER TABLE db_version CHANGE COLUMN "$latestUpd" "$dateToday"_"$counter" bit;";
|
||||||
|
cnt=$(printf -v counter "%02d" $counter ; echo $counter)
|
||||||
|
newFile="$updPath/"$dateToday"_"$cnt".sql"
|
||||||
|
echo "$updHeader" > "$newFile"
|
||||||
|
echo "--" >> "$newFile"
|
||||||
|
echo "--" >> "$newFile"
|
||||||
|
cat $entry >> "$newFile"
|
||||||
|
rm $entry
|
||||||
|
((counter+=1))
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
import "world"
|
||||||
|
import "characters"
|
||||||
|
import "auth"
|
||||||
@@ -1 +1,3 @@
|
|||||||
Please read [this](https://github.com/azerothcore/azerothcore-wotlk/wiki/Dealing-with-SQL-files) before adding new SQL-update files.
|
Please read [this](https://github.com/azerothcore/azerothcore-wotlk/wiki/Dealing-with-SQL-files) before adding new SQL-update files.
|
||||||
|
|
||||||
|
Use template sql files present in this folder to build your update file
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
ALTER TABLE auth_db_version CHANGE COLUMN 2016_07_10_00 2016_08_25_00 bit;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Do not remove this file when we archive sql under this folder
|
||||||
|
-- it is needed for pending sql importer
|
||||||
|
--
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
ALTER TABLE auth_db_version CHANGE COLUMN 2016_08_25_00 2016_08_25_01 bit;
|
||||||
|
|
||||||
|
RENAME TABLE `auth_db_version` TO `version_db_auth`;
|
||||||
|
|
||||||
|
ALTER TABLE `version_db_auth`
|
||||||
|
ADD COLUMN `sql_rev` VARCHAR(100) NOT NULL FIRST,
|
||||||
|
ADD COLUMN `required_rev` VARCHAR(100) NULL AFTER `sql_rev`,
|
||||||
|
ADD PRIMARY KEY (`sql_rev`),
|
||||||
|
ENGINE=INNODB;
|
||||||
|
|
||||||
|
ALTER TABLE `version_db_auth` ADD CONSTRAINT `required` FOREIGN KEY (`required_rev`) REFERENCES `version_db_auth`(`sql_rev`);
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
-- uncomment and fix following line at next revision / updates archivation
|
||||||
|
-- ALTER TABLE auth_db_version CHANGE COLUMN xxxx_xx_xx_xx xxxx_xx_xx_xx bit;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Do not remove this file when we archive sql under this folder
|
||||||
|
-- it is needed for pending sql importer
|
||||||
|
--
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
ALTER TABLE characters_db_version CHANGE COLUMN 2016_08_15_00 2016_08_25_00 bit;
|
||||||
|
|
||||||
|
RENAME TABLE `characters_db_version` TO `version_db_characters`;
|
||||||
|
|
||||||
|
ALTER TABLE `version_db_characters`
|
||||||
|
ADD COLUMN `sql_rev` VARCHAR(100) NOT NULL FIRST,
|
||||||
|
ADD COLUMN `required_rev` VARCHAR(100) NULL AFTER `sql_rev`,
|
||||||
|
ADD PRIMARY KEY (`sql_rev`),
|
||||||
|
ENGINE=INNODB;
|
||||||
|
|
||||||
|
ALTER TABLE `version_db_characters` ADD CONSTRAINT `required` FOREIGN KEY (`required_rev`) REFERENCES `version_db_characters`(`sql_rev`);
|
||||||
|
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
-- uncomment and fix following line at next revision / updates archivation
|
||||||
|
-- ALTER TABLE auth_db_version CHANGE COLUMN xxxx_xx_xx_xx xxxx_xx_xx_xx bit;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Do not remove this file when we archive sql under this folder
|
||||||
|
-- it is needed for pending sql importer
|
||||||
|
--
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
ALTER TABLE world_db_version CHANGE COLUMN 2016_08_24_01 2016_08_25_00 bit;
|
||||||
|
|
||||||
|
RENAME TABLE `world_db_version` TO `version_db_world`;
|
||||||
|
|
||||||
|
ALTER TABLE `version_db_world`
|
||||||
|
ADD COLUMN `sql_rev` VARCHAR(100) NOT NULL FIRST,
|
||||||
|
ADD COLUMN `required_rev` VARCHAR(100) NULL AFTER `sql_rev`,
|
||||||
|
ADD PRIMARY KEY (`sql_rev`),
|
||||||
|
ENGINE=INNODB;
|
||||||
|
|
||||||
|
ALTER TABLE `version_db_world` ADD CONSTRAINT `required` FOREIGN KEY (`required_rev`) REFERENCES `version_db_world`(`sql_rev`);
|
||||||
|
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
DROP PROCEDURE IF EXISTS `updateDb`;
|
||||||
|
DELIMITER //
|
||||||
|
CREATE PROCEDURE updateDb ()
|
||||||
|
proc:BEGIN DECLARE OK VARCHAR(100) DEFAULT "FALSE";
|
||||||
|
|
||||||
|
-- ###############################
|
||||||
|
-- CHANGE FOLLOWING VARIABLES
|
||||||
|
-- ###############################
|
||||||
|
|
||||||
|
-- fill new_version with result of this bash command: date +%s%N
|
||||||
|
-- you must run it for each sql updates
|
||||||
|
SET @new_version="";
|
||||||
|
-- set previous required version, or do not touch it if you are not sure
|
||||||
|
SET @req_version=NULL;
|
||||||
|
|
||||||
|
-- ###############################
|
||||||
|
-- DO NOT CHANGE IT
|
||||||
|
-- ###############################
|
||||||
|
SELECT sql_rev INTO OK FROM version_db_auth WHERE sql_rev = @new_version; IF OK <> "FALSE" THEN LEAVE proc; END IF; START TRANSACTION; INSERT INTO version_db_auth VALUES(@new_version,@req_version,NULL);
|
||||||
|
|
||||||
|
-- ###############################
|
||||||
|
-- INSERT YOUR SQL QUERIES HERE
|
||||||
|
-- ###############################
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- ###############################
|
||||||
|
-- TERMINATE YOUR SQL QUERIES HERE
|
||||||
|
-- ###############################
|
||||||
|
|
||||||
|
COMMIT;
|
||||||
|
END;
|
||||||
|
//
|
||||||
|
DELIMITER ;
|
||||||
|
CALL updateDb();
|
||||||
|
DROP PROCEDURE IF EXISTS `updateDb`;
|
||||||
|
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
DROP PROCEDURE IF EXISTS `updateDb`;
|
||||||
|
DELIMITER //
|
||||||
|
CREATE PROCEDURE updateDb ()
|
||||||
|
proc:BEGIN DECLARE OK VARCHAR(100) DEFAULT "FALSE";
|
||||||
|
|
||||||
|
-- ###############################
|
||||||
|
-- CHANGE FOLLOWING VARIABLES
|
||||||
|
-- ###############################
|
||||||
|
|
||||||
|
-- fill new_version with result of this bash command: date +%s%N
|
||||||
|
-- you must run it for each sql updates
|
||||||
|
SET @new_version="";
|
||||||
|
-- set previous required version, or do not touch it if you are not sure
|
||||||
|
SET @req_version=NULL;
|
||||||
|
|
||||||
|
-- ###############################
|
||||||
|
-- DO NOT CHANGE IT
|
||||||
|
-- ###############################
|
||||||
|
SELECT sql_rev INTO OK FROM version_db_characters WHERE sql_rev = @new_version; IF OK <> "FALSE" THEN LEAVE proc; END IF; START TRANSACTION; INSERT INTO version_db_characters VALUES(@new_version,@req_version,NULL);
|
||||||
|
|
||||||
|
-- ###############################
|
||||||
|
-- INSERT YOUR SQL QUERIES HERE
|
||||||
|
-- ###############################
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- ###############################
|
||||||
|
-- TERMINATE YOUR SQL QUERIES HERE
|
||||||
|
-- ###############################
|
||||||
|
|
||||||
|
COMMIT;
|
||||||
|
END;
|
||||||
|
//
|
||||||
|
DELIMITER ;
|
||||||
|
CALL updateDb();
|
||||||
|
DROP PROCEDURE IF EXISTS `updateDb`;
|
||||||
|
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
DROP PROCEDURE IF EXISTS `updateDb`;
|
||||||
|
DELIMITER //
|
||||||
|
CREATE PROCEDURE updateDb ()
|
||||||
|
proc:BEGIN DECLARE OK VARCHAR(100) DEFAULT "FALSE";
|
||||||
|
|
||||||
|
-- ###############################
|
||||||
|
-- CHANGE FOLLOWING VARIABLES
|
||||||
|
-- ###############################
|
||||||
|
|
||||||
|
-- fill new_version with result of this bash command: date +%s%N
|
||||||
|
-- you must run it for each sql updates
|
||||||
|
SET @new_version="";
|
||||||
|
-- set previous required version, or do not touch it if you are not sure
|
||||||
|
SET @req_version=NULL;
|
||||||
|
|
||||||
|
-- ###############################
|
||||||
|
-- DO NOT CHANGE IT
|
||||||
|
-- ###############################
|
||||||
|
SELECT sql_rev INTO OK FROM version_db_world WHERE sql_rev = @new_version; IF OK <> "FALSE" THEN LEAVE proc; END IF; START TRANSACTION; INSERT INTO version_db_world VALUES(@new_version,@req_version,NULL);
|
||||||
|
|
||||||
|
-- ###############################
|
||||||
|
-- INSERT YOUR SQL QUERIES HERE
|
||||||
|
-- ###############################
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- ###############################
|
||||||
|
-- TERMINATE YOUR SQL QUERIES HERE
|
||||||
|
-- ###############################
|
||||||
|
|
||||||
|
COMMIT;
|
||||||
|
END;
|
||||||
|
//
|
||||||
|
DELIMITER ;
|
||||||
|
CALL updateDb();
|
||||||
|
DROP PROCEDURE IF EXISTS `updateDb`;
|
||||||
|
|
||||||
Reference in New Issue
Block a user