Работа с репозиторием: различия между версиями
User1 (обсуждение | вклад) Нет описания правки |
User1 (обсуждение | вклад) Нет описания правки |
||
| Строка 1: | Строка 1: | ||
== SQL стиль кода == | |||
'''Название файлов.''' | |||
Название файлов должно быть в следующем формате: yyyy_mm_DB.sql . | |||
Например: 2022_06_world.sql или 2022_06_hotfixes.sql соответственно, если делаете файл для заливки в хотфиксы. Файлы должны храниться строго в вашей личной папке. | |||
'''Написание запросов.''' | |||
Пишите более конкретные запросы при удалении записей. | |||
Пример: | |||
Вот так делать не нужно, можно удалить лишние записи: DELETE FROM smart_scripts WHERE entryorguid IN (11111, 22222); | |||
Более точный запрос: | |||
DELETE FROM smart_scripts WHERE entryorguid IN (11111, 22222) AND source_type = 0; | |||
DELETE FROM creature_text WHERE entry = 11111 AND groupId = 1 AND id in (1, 2, 6); | |||
'''Комментарий в коде:''' | |||
Для записи в одну строку | |||
-- Comment something | |||
Для записи в несколько строк | |||
'''<nowiki>/* | |||
Comment | |||
Something | |||
*/</nowiki>''' | |||
'''Указывайте ссылки на wowhead в комменте перед началом кода, чтобы было понятно, что конкретно вы исправили.''' | |||
Пример: | |||
-- https://ru.wowhead.com/npc=90312 | |||
UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN (90312); | |||
UPDATE `creature_template_addon` SET `auras` = '180589' WHERE `entry` = 90312; | |||
DELETE FROM `smart_scripts` WHERE (`source_type`=0) AND `entryorguid` IN (90312); | |||
INSERT INTO `smart_scripts`(`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `action_type`, | |||
`action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `action_delay`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES | |||
(90312, 0, 0, 0, 0, 0, 100, 0, 0, 0, 2500, 2500, 0, 11, 32707, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'cast Incinerate (Sethekk Neophyte)'), | |||
(90312, 0, 1, 0, 9, 0, 100, 0, 5, 100, 5000, 10000, 0, 11, 183165, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'casts spell by player range'), | |||
(90312, 0, 3, 0, 1, 0, 100, 1, 2000, 2000, 0, 0, 0, 11, 146130, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'cast out of combat'), | |||
(90312, 0, 4, 0, 4, 0, 20, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'text'); | |||
-- https://ru.wowhead.com/quest=11111 | |||
...QUEST_CODE_HERE... | |||
== Начало работы == | == Начало работы == | ||
Версия от 13:48, 7 июля 2022
SQL стиль кода
Название файлов. Название файлов должно быть в следующем формате: yyyy_mm_DB.sql .
Например: 2022_06_world.sql или 2022_06_hotfixes.sql соответственно, если делаете файл для заливки в хотфиксы. Файлы должны храниться строго в вашей личной папке.
Написание запросов.
Пишите более конкретные запросы при удалении записей.
Пример:
Вот так делать не нужно, можно удалить лишние записи: DELETE FROM smart_scripts WHERE entryorguid IN (11111, 22222); Более точный запрос: DELETE FROM smart_scripts WHERE entryorguid IN (11111, 22222) AND source_type = 0; DELETE FROM creature_text WHERE entry = 11111 AND groupId = 1 AND id in (1, 2, 6);
Комментарий в коде:
Для записи в одну строку
-- Comment something
Для записи в несколько строк
/* Comment Something */
Указывайте ссылки на wowhead в комменте перед началом кода, чтобы было понятно, что конкретно вы исправили.
Пример:
-- https://ru.wowhead.com/npc=90312
UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN (90312);
UPDATE `creature_template_addon` SET `auras` = '180589' WHERE `entry` = 90312;
DELETE FROM `smart_scripts` WHERE (`source_type`=0) AND `entryorguid` IN (90312); INSERT INTO `smart_scripts`(`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `action_delay`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES (90312, 0, 0, 0, 0, 0, 100, 0, 0, 0, 2500, 2500, 0, 11, 32707, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'cast Incinerate (Sethekk Neophyte)'), (90312, 0, 1, 0, 9, 0, 100, 0, 5, 100, 5000, 10000, 0, 11, 183165, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'casts spell by player range'), (90312, 0, 3, 0, 1, 0, 100, 1, 2000, 2000, 0, 0, 0, 11, 146130, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'cast out of combat'), (90312, 0, 4, 0, 4, 0, 20, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'text');
-- https://ru.wowhead.com/quest=11111
...QUEST_CODE_HERE...
Начало работы
1. Зарегистрировать аккаунт: https://bitbucket.org/account/signin.
2. Создать ключ для приложений: https://bitbucket.org/account/settings/app-passwords
- В Label указать название ключа(произвольное).
- Выставить все галочки для выдачи прав записи.
- Записать себе куда-то созданный пароль для приложения.
3. Скачать и установить https://git-scm.com/downloads и https://sourceforge.net/projects/gitextensions/
4. Запустить GitExtensions. Настроить имя пользователя и почту.
5. Клонировать репозиторий.
- Перейдя по ссылке https://bitbucket.org/blackmanos/legionsql найти кнопку Clone, при клике появится ссылка https://YOUR_NICKNAME@bitbucket.org/blackmanos/legionsql.git.
- Скопированную ссылку вставить в окно GitExtensions в поле Внешний репозиторий. В поле Назначение необходимо указать путь на ПК, где будет находиться репозиторий. Далее жмем Клонировать.
Отправить/Забрать изменения
Забрать изменения:
- При нажатии на стрелочку у кнопки (https://egammi.com/images/2022/06/13/S2Ue.jpg) выбрать в меню Назначить действие кнопки - "Получить - переместить" (Pull - rebase).
- Нажать кнопку "Получить - переместить".
Создать и отправить коммит:
- Открыть меню коммита(https://egammi.com/images/2022/06/13/S2Uf.jpg).
- Сохранить индексировать файлы, которые желаем отправить в репозиторий. Делается это двойным кликом в первом верхнем окне меню коммитов, либо кнопкой Индексировать.
- Ввести описание коммита в окне "Enter commit message".
- Отправить коммит в репозиторий можно в этом же окне. Для этого нажмите Фиксировать и отправить. При получении ошибки. Нажмите "Переместить и получить"
- Если вы выбрали "Зафиксировать". Откройте консоль bash\cmd\etc. (https://egammi.com/images/2022/06/13/S2Uj.jpg) и введите git push