|
Tools Обсуждение программ для MaNGOS |
|
Опции темы | Поиск в этой теме | Опции просмотра |
17.12.2010, 10:27 | #1 |
Ученый
Регистрация: 02.04.2010
Сообщений: 237
Сказал(а) спасибо: 41
Поблагодарили 99 раз(а) в 44 сообщениях
|
DataBase GUID sorter
Сразу прошу помидорами не кидаться Программиринг в стадии изучения
Давно еще хотел навести порядок в базе в таблицах связанных по ключевым полям GUID (например characters и от нее зависящие character_* или creature и creature_*) смысл понятен. Иногда, или даже постоянно если много работаешь с базой, появляются пробелы в гуидах и они приобретают колоссальные значения Программка создает темповое поле в которое перезаписывает исходные GUID'ы в инкрементальном порядке от 1 и до значения которое выдаст запрос COUNT(*) Одновременно сопоставляя GUID'ы из указанных зависящих таблиц, так же создает темповое поле и записывает на него соответствующие новые GUID'ы. По окончании выполнения, удаляет из зависящих таблиц записи у которых темповое поле оказалось равным 0 (значит гуид не существует в исходной таблице) и заменяет старое guid поле на то что получилось в темповом. Мда, не умею я красиво объяснять, но как есть В итоге что пока умеет: - Поддержка до 5 таблиц, однако можно в коде выставить больше кто желает. - Поддержка 2 полей в PRI KEY. Как работает: 1) Запускаем, вводим данные для соединения с базой (как правило нужен юзер с доступом на ALTER запрос.) 2) После соединения с бд вводим setvar и указываем переменные. 3) Вводим start и ждем (чем больше зависящих таблиц и записей тем дольше работает) Скриншот результата: Сейчас пока альфа тестовая версия консольная, позже сделаю на Qt4. Исходники https://github.com/sidsukana/dbsorter Релизный бинарник https://github.com/downloads/sidsuka...er_Release.zip Спасибо за внимание Последний раз редактировалось Sid; 17.12.2010 в 10:33. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[10904] Cleanup character_battleground_data when deleting characters from database | newsbot | CMaNGOS Commits | 0 | 21.12.2010 15:40 |
Альтернатива Zero Database | smoota | MaNGOSZero (1.12.X) | 1 | 19.10.2010 22:46 |
[10100] Fixed some cases assign low guid to full guid update field. | newsbot | CMaNGOS Commits | 0 | 23.06.2010 10:20 |
[9849] Implement character database clean up. | newsbot | CMaNGOS Commits | 0 | 08.05.2010 00:20 |