mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2025-11-29 17:38:24 +08:00
docs(DB): Database Squash (#19415)
This commit is contained in:
40
data/sql/base/database-squash.md
Normal file
40
data/sql/base/database-squash.md
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
New routines around handling database squashes since https://github.com/azerothcore/azerothcore-wotlk/pull/18197
|
||||||
|
|
||||||
|
> [!CAUTION]
|
||||||
|
> These steps are only for project maintainers who intend to update base files.
|
||||||
|
|
||||||
|
We ONLY squash into BASE files. We never move files.
|
||||||
|
ARCHIVE dir is UNUSED.
|
||||||
|
All update files ALWAYS exist in the updates dir.
|
||||||
|
|
||||||
|
as the `updates` table in base files always will contain the entries from the updates dir they will never be run again on a clean setup.
|
||||||
|
|
||||||
|
How to do the squash.
|
||||||
|
|
||||||
|
> [!IMPORTANT]
|
||||||
|
> A squash needs to be done on a clean database. Drop all tables in Auth, Characters and World.
|
||||||
|
|
||||||
|
1. Update the acore.json file. Increment version by one
|
||||||
|
2. Create a new file in the updates/db_world/ dir, the file should be incremented containing
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> It should NOT be placed as a pending update and should only be done on world db. This is because we want the updated DB version to follow into the base files
|
||||||
|
|
||||||
|
```sql
|
||||||
|
UPDATE `version` SET `db_version`='ACDB 335.11-dev', `cache_id`=11 LIMIT 1;
|
||||||
|
```
|
||||||
|
> [!NOTE]
|
||||||
|
> Remember to increment the db_version and cache_id the same as acore.json
|
||||||
|
|
||||||
|
4. Drop all your databases, and run Worldserver to populate a clean database.
|
||||||
|
5. Export the databases using i.e HeidiSQL
|
||||||
|
|
||||||
|
> [!IMPORTANT]
|
||||||
|
> Set the following values
|
||||||
|
> Tables -> DROP + CREATE
|
||||||
|
> Data -> Delete + insert (truncate existing data)
|
||||||
|
> Max INSERT size -> 1024
|
||||||
|
> This is so that no unexpected issues occur.
|
||||||
|
|
||||||
|
6. Move the exported table files into the base directory to update the existing files.
|
||||||
|
7. Make a PR
|
||||||
Reference in New Issue
Block a user