mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2025-11-29 17:38:24 +08:00
implemented first version of db_assembler script
This commit is contained in:
@@ -32,3 +32,6 @@ SRCPATH=
|
|||||||
BINPATH=
|
BINPATH=
|
||||||
# absolute path where config. files must be stored
|
# absolute path where config. files must be stored
|
||||||
CONFDIR=
|
CONFDIR=
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
2
bin/db_assembler/.gitignore
vendored
Normal file
2
bin/db_assembler/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
/output/
|
||||||
|
config.sh
|
||||||
49
bin/db_assembler/config.sh.dist
Normal file
49
bin/db_assembler/config.sh.dist
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# 0 if you want create an sql for each kind of following categories
|
||||||
|
# 1 to create a single big file to import ( suggested for new installations )
|
||||||
|
ALL_IN_ONE=0
|
||||||
|
|
||||||
|
DATABASES=(
|
||||||
|
"AUTH"
|
||||||
|
"CHARACTERS"
|
||||||
|
"WORLD"
|
||||||
|
)
|
||||||
|
|
||||||
|
OUTPUT_FOLDER="output/"
|
||||||
|
|
||||||
|
# FULL DB
|
||||||
|
DB_CHARACTERS_PATHS=(
|
||||||
|
$SRCPATH"/data/sql/databases/characters.sql"
|
||||||
|
)
|
||||||
|
|
||||||
|
DB_AUTH_PATHS=(
|
||||||
|
$SRCPATH"/data/sql/databases/auth.sql"
|
||||||
|
)
|
||||||
|
|
||||||
|
DB_WORLD_PATHS=(
|
||||||
|
$SRCPATH"/data/sql/databases/world.sql"
|
||||||
|
)
|
||||||
|
|
||||||
|
# UPDATES
|
||||||
|
DB_CHARACTERS_UPDATE_PATHS=(
|
||||||
|
$SRCPATH"/data/sql/updates/characters/"
|
||||||
|
)
|
||||||
|
|
||||||
|
DB_AUTH_UPDATE_PATHS=(
|
||||||
|
$SRCPATH"/data/sql/updates/auth/"
|
||||||
|
)
|
||||||
|
|
||||||
|
DB_WORLD_UPDATE_PATHS=(
|
||||||
|
$SRCPATH"/data/sql/updates/world/"
|
||||||
|
)
|
||||||
|
|
||||||
|
# CUSTOM
|
||||||
|
DB_CHARACTERS_CUSTOM_PATHS=(
|
||||||
|
)
|
||||||
|
|
||||||
|
DB_AUTH_CUSTOM_PATHS=(
|
||||||
|
)
|
||||||
|
|
||||||
|
DB_WORLD_CUSTOM_PATHS=(
|
||||||
|
)
|
||||||
129
bin/db_assembler/db_assembler.sh
Executable file
129
bin/db_assembler/db_assembler.sh
Executable file
@@ -0,0 +1,129 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
SRCPATH=$(readlink -f "../../")
|
||||||
|
|
||||||
|
#
|
||||||
|
# You can pass latest version as first argument of this script
|
||||||
|
#
|
||||||
|
if [ -z "$1" ]; then
|
||||||
|
read -p "Enter latest sql version ( leave blank to use : 0000_00_00_00 )" $version
|
||||||
|
version=${version:-0000_00_00_00}
|
||||||
|
else
|
||||||
|
version=$1
|
||||||
|
fi
|
||||||
|
|
||||||
|
source "./config.sh.dist" # "hack" to avoid missing conf variables
|
||||||
|
|
||||||
|
if [ -f "./config.sh" ]; then
|
||||||
|
source "./config.sh" # should overwrite previous
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "===== STARTING PROCESS ====="
|
||||||
|
|
||||||
|
gtversion=""
|
||||||
|
|
||||||
|
function assemble() {
|
||||||
|
database=$1
|
||||||
|
start_sql=$2
|
||||||
|
|
||||||
|
var_full="DB_"$database"_PATHS"
|
||||||
|
full=${!var_full}
|
||||||
|
|
||||||
|
var_updates="DB_"$database"_UPDATE_PATHS"
|
||||||
|
updates=${!var_updates}
|
||||||
|
|
||||||
|
var_custom="DB_"$database"_CUSTOM_PATHS"
|
||||||
|
custom=${!var_custom}
|
||||||
|
|
||||||
|
|
||||||
|
suffix_base=""
|
||||||
|
suffix_upd=""
|
||||||
|
suffix_custom=""
|
||||||
|
|
||||||
|
if (( $ALL_IN_ONE == 0 )); then
|
||||||
|
suffix_base="_base"
|
||||||
|
fi;
|
||||||
|
|
||||||
|
echo "" > $OUTPUT_FOLDER$database$suffix_base".sql"
|
||||||
|
|
||||||
|
|
||||||
|
if [ ! ${#full[@]} -eq 0 ]; then
|
||||||
|
echo "Generating $OUTPUT_FOLDER$database$suffix_based ..."
|
||||||
|
|
||||||
|
for entry in "${full[@]}"
|
||||||
|
do
|
||||||
|
if [ ! -z $entry ]; then
|
||||||
|
if [ -e $entry ]; then
|
||||||
|
cat "$entry" >> $OUTPUT_FOLDER$database$suffix_base".sql"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
if (( $ALL_IN_ONE == 0 )); then
|
||||||
|
suffix_upd="_updates"
|
||||||
|
|
||||||
|
echo "" > $OUTPUT_FOLDER$database$suffix_upd".sql"
|
||||||
|
fi;
|
||||||
|
|
||||||
|
if [ ! ${#updates[@]} -eq 0 ]; then
|
||||||
|
echo "Generating $OUTPUT_FOLDER$database$suffix_upd ..."
|
||||||
|
|
||||||
|
for d in "${updates[@]}"
|
||||||
|
do
|
||||||
|
for entry in "$d"/*.sql "$d"/**/*.sql
|
||||||
|
do
|
||||||
|
if [ ! -z $d ]; then
|
||||||
|
file=$(basename $entry)
|
||||||
|
if [[ "$file" > "$start_sql" ]]
|
||||||
|
then
|
||||||
|
if [ -e $entry ]; then
|
||||||
|
if [[ "$gtversion" < "$file" ]]; then
|
||||||
|
gtversion=$file
|
||||||
|
fi
|
||||||
|
|
||||||
|
cat "$entry" >> $OUTPUT_FOLDER$database$suffix_upd".sql"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
if (( $ALL_IN_ONE == 0 )); then
|
||||||
|
suffix_custom="_custom"
|
||||||
|
|
||||||
|
echo "" > $OUTPUT_FOLDER$database$suffix_custom".sql"
|
||||||
|
fi;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if [ ! ${#custom[@]} -eq 0 ]; then
|
||||||
|
echo "Generating $OUTPUT_FOLDER$database$suffix_custom ..."
|
||||||
|
|
||||||
|
for d in "${custom[@]}"
|
||||||
|
do
|
||||||
|
if [ ! -z $d ]; then
|
||||||
|
for entry in "$d"/*.sql "$d"/**/*.sql
|
||||||
|
do
|
||||||
|
if [ -e $entry ]; then
|
||||||
|
cat "$entry" >> $OUTPUT_FOLDER$database$suffix_custom".sql"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
mkdir -p $OUTPUT_FOLDER
|
||||||
|
|
||||||
|
for db in ${DATABASES[@]}
|
||||||
|
do
|
||||||
|
assemble "$db" $version".sql"
|
||||||
|
done
|
||||||
|
|
||||||
|
rm $OUTPUT_FOLDER"ZZZ_latest_version_"*
|
||||||
|
echo $gtversion > $OUTPUT_FOLDER"ZZZ_latest_version_"${gtversion%.*}
|
||||||
|
|
||||||
|
echo "===== DONE ====="
|
||||||
|
|
||||||
Reference in New Issue
Block a user