Оновлення бд (приклад)

для зручності використовуйте Упордочіть Значкі-> За Імені в папках з sql оновленнями

Перш, ніж почати:
  • Визначте номер вашої поточної ревізії сервера MaNGOS
  • Визначте, під яку ревізію MaNGOS у вас БД.
  • Я буду пояснювати на прикладі. Моя ревізія ядра- 4800

Моя ревізія бази даних (на просторах інтернет знайшов Super_Unknown_MaNGOS_DB_for_4714.rar) - 4714.

Що я хочу: отримати найновішу версію сервера.

Частина 1: Через Папки до Оновленню

Наш шлях починається з звернення до папки, де зберігаються SQL-поновлення:

Ваш шлях до початкових кодів MaNGOS / sql / updates

У цій папці ми бачимо безліч файлів з розширенням .sql і кілька папок виду 0.<число>.

Тепер нам необхідно знайти перший SQL апдейт для баз
  1. mangos
  2. characters
  3. realmd

Шукаємо sql файли> 4714 (більше номера ревізії нашої БД).
І не знаходимо. Далі шукаємо по папках.
Потрібний нам файл лежить в /sql/updates/0.9/ і називається

Застосовуємо його до таблиці Бази Даних mangos.

До БД mangos, тому що ім'я sql файлу будується таким чином:

<РЕВИЗИЯ> _ <БД> _ <ТАБЛИЦА _ КОТОРУЮ _ ЗАТРАГИВАЕТ>. sql

Шукаємо наступний .sql файл. Тепер уже нам потрібен номер> 4718

Це 4737_mangos_command.sql. Зверніть увагу, його теж необхідно застосувати на БД mangos.
Наступний апдейт - 4764_characters_auctionhouse.sql. І вірно! Його необхідно застосувати на БД characters. Браво!


Частина 2: Беремо вище

Коли БД вашого сервера стане 4842 (адже останній апдейт в папці 0.9 це 4842_mangos_quest_template.sql), настане час вийти за межі цієї папки і перейти в наступну. Правильно! Наступну за номером. У нашому випадку це 0.10.

Але от невдача, файли
4846_mangos_creature_template.sql
4846_mangos_item_template.sql
4846_mangos_npc_option.sql

Мають однакові номери. Однак це не повинно вас збентежити! Пам'ятайте упомніаніе про те, як будуються назви sql-апдейтів в MaNGOS? Так, саме, ці обновлени зачіпають три різні таблиці. Вони не перетинаються. Ставимо в будь-якому порядку і рухаємося далі.

Частина 3: Абсолют


Отже, ви повністю застосували поновлення з папок 0.9, 0.10, (ви адже рушили далі?).
На поточний момент у вас повинна бути ревізія 6351.
Переходимо в папку 0.11. З якихось невідомих причин sql файли тут називаються інакше. Але це не проблема для нас!

На найближчі десять хвилин запам'ятайте (потім доведеться забути), що насправді ім'я sql файлу будується наступним чином:


0<РЕВИЗИЯ>_<БД>_<ТАБЛИЦА_КОТОРУЮ_ЗАТРАГИВАЕТ>.sql
І нуль це не помилка. Застосовуємо файли з
06360_characters_characters.sql
по
06760_mangos_creature_template.sql

а потім
(НОМЕР_РЕВІЗІІ_ЯДРА) _ (НОМЕР_ОБНОВЛЕНІЯ) _ (БД) _ (ТАБЛИЦЯ) .sql
Перший файл такого виду- 6936_01_mangos_spell_chain.sql.


От і все! Ми оновили БД з версії 4714 до 8104 (в моєму випадку) без будь-яких проблем.

Нюанси щодо поновлення БД

Перш ніж почати накладати на БД поновлення, хотілося б уточнити деякі моменти у фахівців цих справ, щоб не вбити бази.

Що зробив:
1. Скачал я з репозиторію вихідні мангоса, зібрав ядро, зайшов в папку mangos / sql
2. За допомогою create_mysql.sql створив таблиці
3. З помошью characters.sql і realmd.sql заповнив таблиці characters і realmd
3. mangos.sql заливати не став, натомість залив файл YTDB_0.13.5_R550_MaNGOS_R10023_SD2_R1706_ACID_R304 _RuDB_R37.7, найсвіжіший на даний момент, взяв з репозиторію YTDB
4. Перейшов в папку ScriptDev2 / sql
5. Файлом scriptdev2_create_database.sql створив таблицю
6. Файлами scriptdev2_create_structure_mysql.sql і scriptdev2_script_full.sql заповнив таблицю

питання:
1. Як визначити нинішні ревізії баз characters, realmd і ScriptDev2, щоб щодо її продовжити їх подальше оновлення?
2. Або ж вони на даний момент знаходяться в максимальній ревізії після моїх дій?
3. На даний момент ревізія мого ядра - 12340, а саме останнє оновлення для БД, викачане, природно з того ж сховища має ревізію 10270. Якщо я не помиляюся, то ревізії ядра і бази повинні збігатися. Що робити?
4. У ропозіторіях YTBD і mangos можна зустріти поновлення одіінакових версій, я правильно вважаю, що різниці звідки ставити ні? Але в репозиторії мангоса вони зазвичай свіже

З.И. Дякую за мануал по оновленню БД

З.З.И. відповідь на питання 1 знайшов сам - в БД потрібно лише знайти таблицю, що містить db_version
З.З.З.И. практика показав, що даунгрейд зробити не можна, головне не помилитися і ставити одновленія строго по порядку

Схожі статті