|
|
Модератор форума: Dimitro |
Форум TrinityCore Установка / Настройка TrinityCore [Windows/Linux] Объединение SQL апдейтов (by Gregarious) |
[Windows/Linux] Объединение SQL апдейтов |
Здравствуйте ув. пользователи портала. Сегодня я расскажу как проще заливать много *.sql файлов за один раз слитием их в один. Собственно сегодня будет или реч о объединении всех апдейтов бд.
Для Windows: Собственно делаем *батник. Кидаем его в папку с исходниками. Quote Батник - *.bat файл. Создаем текстовый документ и меняем расширения с *.txt на *.bat, и открываем, например, с Notepad++. Code @echo off setlocal EnableDelayedExpansion set WorldUpdates=All_World_Updates.sql set CharactersUpdates=All_Characters_Updates.sql set AuthUpdates=All_Auth_Updates.sql if exist %CharactersUpdates% del %CharactersUpdates% if exist %AuthUpdates% del %AuthUpdates% if exist %WorldUpdates% del %WorldUpdates% for %%a in (sql\updates\world\*.sql) do ( echo /* >>%WorldUpdates% echo * %%a >>%WorldUpdates% echo */ >>%WorldUpdates% copy/b %WorldUpdates%+"%%a" %WorldUpdates% echo. >>%WorldUpdates% echo. >>%WorldUpdates%) for %%a in (sql\updates\characters\*.sql) do ( echo /* >>%CharactersUpdates% echo * %%a >>%CharactersUpdates% echo */ >>%CharactersUpdates% copy/b %CharactersUpdates%+"%%a" %CharactersUpdates% echo. >>%CharactersUpdates% echo. >>%CharactersUpdates%) for %%a in (sql\updates\auth\*.sql) do ( echo /* >>%AuthUpdates% echo * %%a >>%AuthUpdates% echo */ >>%AuthUpdates% copy/b %AuthUpdates%+"%%a" %AuthUpdates% echo. >>%AuthUpdates% echo. >>%AuthUpdates%) Для Linux: Переходим в папку с апдейтами (sql/updates). Объединить все апдейты: Code cat world/*.sql > all_world_updates.sql cat characters/*.sql > all_characters_updates.sql Объединить все апдейты и залить в бд: Code for file in world/*.sql; do mysql -u USERNAME -pPASSWORD --database=WORLD < $file; done for file in characters/*.sql; do mysql -u USERNAME -pPASSWORD --database=CHARACTERS < $file; done Автор кода и мануала: Gregarious. Я немножко переделал само содержание. Теперь можно модифицировать этот батник под себя. Например, объединить все sql файлы, которые есть в определенной папке: Code echo off setlocal EnableDelayedExpansion set WorldUpdates=All_World_Updates.sql if exist %WorldUpdates% del %WorldUpdates% for %%a in (*.sql) do ( echo /* >>%WorldUpdates% echo * %%a >>%WorldUpdates% echo */ >>%WorldUpdates% copy/b %WorldUpdates%+"%%a" %WorldUpdates% echo. >>%WorldUpdates% echo. >>%WorldUpdates%) Делаем батник с выше написанным содержимым и кидаем в папку с *.sql файлами.. Думаю тут все ясно Спасибо Gregarious за код и мануал и Никите (Neket007) за то что давно показал его мне. Содержимое взято с TrinityCore |
| |||
| |||