Database tooling additions for Linux/macOS users (#4328)

* Create CompileAuthenticationBase.sh

Script for Linux/macOS users

* Create DockerExportShardBase.sh

Script for Linux/macOS users

* Create DockerCompileAuthenticationBase.sh

Script for Linux/macOS users

* Update DockerExportShardBase.sh

Script for Linux/macOS users

* Create DockerExportWorldBase.sh

Script for Linux/macOS users

* Create ExportAuthenticationBase.sh

Script for Linux/macOS users

* Create ExportShardBase.sh

Script for Linux/macOS users

* Create ExportWorldBase.sh

Script for Linux/macOS users

* Create RebaseShardBase.sh

Script for Linux/macOS users

* Create RebaseWorldBase.sh

Script for Linux/macOS users

* Update README.md

Added information concerning DB Tooling for export and rebase.
This commit is contained in:
Galli 2025-07-16 00:33:49 -04:00 committed by GitHub
parent 38ac4c2395
commit 2b94205eb5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 61 additions and 0 deletions

View file

@ -0,0 +1,6 @@
#!/usr/bin/env bash
password=$(<password.txt)
rm -f ../Base/AuthenticationBase.sql
docker exec acedb mysqldump --user=root --password="$password" --databases ace_auth --add-drop-database --add-drop-table --create-options --quote-names --lock-tables --dump-date --flush-privileges --set-gtid-purged=AUTO --disable-keys --tz-utc --add-locks --extended-insert --opt --no-data | sed "s/ AUTO_INCREMENT=[0-9]*\\b//g" > ../Base/AuthenticationBase.sql
echo >> ../Base/AuthenticationBase.sql
cat AuthenticationBase/*.sql >> ../Base/AuthenticationBase.sql

View file

@ -0,0 +1,6 @@
#!/usr/bin/env bash
password=$(<password.txt)
rm -f ../Base/AuthenticationBase.sql
docker exec acedb mysqldump --user=root --password="$password" --databases ace_auth --add-drop-database --add-drop-table --create-options --quote-names --lock-tables --dump-date --flush-privileges --set-gtid-purged=AUTO --disable-keys --tz-utc --add-locks --extended-insert --opt --no-data | sed "s/ AUTO_INCREMENT=[0-9]*\\b//g" > ../Base/AuthenticationBase.sql
echo >> ../Base/AuthenticationBase.sql
cat AuthenticationBase/*.sql >> ../Base/AuthenticationBase.sql

View file

@ -0,0 +1,4 @@
#!/usr/bin/env bash
password=$(<password.txt)
rm -f ../Base/ShardBase.sql
docker exec acedb mysqldump --user=root --password="$password" --databases ace_shard --add-drop-database --add-drop-table --create-options --quote-names --lock-tables --dump-date --flush-privileges --set-gtid-purged=AUTO --disable-keys --tz-utc --add-locks --extended-insert --opt --no-data | sed "s/ AUTO_INCREMENT=[0-9]*\\b//g" > ../Base/ShardBase.sql

View file

@ -0,0 +1,4 @@
#!/usr/bin/env bash
password=$(<password.txt)
rm -f ../Base/WorldBase.sql
docker exec acedb mysqldump --user=root --password="$password" --databases ace_world --add-drop-database --add-drop-table --create-options --quote-names --lock-tables --dump-date --flush-privileges --set-gtid-purged=AUTO --disable-keys --tz-utc --add-locks --extended-insert --opt --no-data | sed "s/ AUTO_INCREMENT=[0-9]*\\b//g" > ../Base/WorldBase.sql

View file

@ -0,0 +1,4 @@
#!/usr/bin/env bash
password=$(<password.txt)
rm -f ../Base/AuthenticationBase.sql
mysqldump --user=root --password="$password" --databases ace_auth --add-drop-database --add-drop-table --create-options --quote-names --lock-tables --dump-date --flush-privileges --set-gtid-purged=AUTO --disable-keys --tz-utc --add-locks --extended-insert --opt --no-data | sed "s/ AUTO_INCREMENT=[0-9]*\\b//g" > ../Base/AuthenticationBase.sql

View file

@ -0,0 +1,4 @@
#!/usr/bin/env bash
password=$(<password.txt)
rm -f ../Base/ShardBase.sql
mysqldump --user=root --password="$password" --databases ace_shard --add-drop-database --add-drop-table --create-options --quote-names --lock-tables --dump-date --flush-privileges --set-gtid-purged=AUTO --disable-keys --tz-utc --add-locks --extended-insert --opt --no-data | sed "s/ AUTO_INCREMENT=[0-9]*\\b//g" > ../Base/ShardBase.sql

View file

@ -0,0 +1,4 @@
#!/usr/bin/env bash
password=$(<password.txt)
rm -f ../Base/WorldBase.sql
mysqldump --user=root --password="$password" --databases ace_world --add-drop-database --add-drop-table --create-options --quote-names --lock-tables --dump-date --flush-privileges --set-gtid-purged=AUTO --disable-keys --tz-utc --add-locks --extended-insert --opt --no-data | sed "s/ AUTO_INCREMENT=[0-9]*\\b//g" > ../Base/WorldBase.sql

View file

@ -0,0 +1,11 @@
#!/usr/bin/env bash
password=$(<password.txt)
mysql -h localhost -u root -p"$password" mysql < ../Base/ShardBase.sql
for sql in ../Updates/Shard/*.sql; do
[ -e "$sql" ] || continue
echo "Found file: $sql"
mysql -h localhost -u root -p"$password" ace_shard < "$sql"
done
rm -f ../Base/ShardBase.sql
rm -f ../Updates/Shard/*.sql
mysqldump --user=root --password="$password" --databases ace_shard --add-drop-database --add-drop-table --create-options --quote-names --lock-tables --dump-date --flush-privileges --set-gtid-purged=AUTO --disable-keys --tz-utc --add-locks --extended-insert --opt --no-data | sed "s/ AUTO_INCREMENT=[0-9]*\\b//g" > ../Base/ShardBase.sql

View file

@ -0,0 +1,11 @@
#!/usr/bin/env bash
password=$(<password.txt)
mysql -h localhost -u root -p"$password" mysql < ../Base/WorldBase.sql
for sql in ../Updates/World/*.sql; do
[ -e "$sql" ] || continue
echo "Found file: $sql"
mysql -h localhost -u root -p"$password" ace_world < "$sql"
done
rm -f ../Base/WorldBase.sql
rm -f ../Updates/World/*.sql
mysqldump --user=root --password="$password" --databases ace_world --add-drop-database --add-drop-table --create-options --quote-names --lock-tables --dump-date --flush-privileges --set-gtid-purged=AUTO --disable-keys --tz-utc --add-locks --extended-insert --opt --no-data | sed "s/ AUTO_INCREMENT=[0-9]*\\b//g" > ../Base/WorldBase.sql

View file

@ -39,3 +39,10 @@ Please note that this project is released with a [Contributor Code of Conduct](h
## Contact
* [Discord Channel](https://discord.gg/C2WzhP9)
## Database Management Scripts
Database export and rebase utilities are located in `Database/tools`.
Windows users can run the existing `*.bat` files, while Linux/macOS users can use
the new `*.sh` equivalents such as `ExportShardBase.sh` and
`RebaseWorldBase.sh`. These scripts call `mysqldump` and `mysql` from the
standard system paths.