· 4 years ago · Jul 13, 2021, 08:08 AM
1DROP TABLE IF EXISTS guid_map;
2CREATE TABLE guid_map (
3 new int(10) unsigned NOT NULL AUTO_INCREMENT,
4 old int(10) unsigned NOT NULL,
5 PRIMARY KEY (new),
6 UNIQUE KEY old (`old`)
7) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
8
9INSERT INTO guid_map (old) SELECT guid FROM creature;
10
11-- ----------------------------------------------------------------------------
12-- creature
13-- ----------------------------------------------------------------------------
14
15DELETE c FROM creature c LEFT JOIN guid_map m ON c.guid = m.old WHERE m.old IS NULL;
16UPDATE creature c JOIN guid_map m ON c.guid = m.old SET c.guid = m.new;
17
18-- ----------------------------------------------------------------------------
19-- creature_aura
20-- ----------------------------------------------------------------------------
21
22DELETE a FROM creature_aura a LEFT JOIN guid_map m ON a.guid = m.old WHERE m.old IS NULL;
23UPDATE creature_aura a JOIN guid_map m ON a.guid = m.old SET a.guid = m.new;
24
25-- ----------------------------------------------------------------------------
26-- creature_bytes
27-- ----------------------------------------------------------------------------
28
29ALTER TABLE `creature_bytes`
30 DROP PRIMARY KEY;
31
32DELETE c FROM creature_bytes c LEFT JOIN guid_map m ON c.guid = m.old WHERE m.old IS NULL;
33UPDATE creature_bytes c JOIN guid_map m ON c.guid = m.old SET c.guid = m.new;
34
35ALTER TABLE `creature_bytes`
36 ADD PRIMARY KEY (`guid`, `index`);
37
38-- ----------------------------------------------------------------------------
39-- creature_emote
40-- ----------------------------------------------------------------------------
41
42ALTER TABLE `creature_emote`
43 DROP PRIMARY KEY;
44
45DELETE c FROM creature_emote c LEFT JOIN guid_map m ON c.guid = m.old WHERE m.old IS NULL;
46UPDATE creature_emote c JOIN guid_map m ON c.guid = m.old SET c.guid = m.new;
47
48ALTER TABLE `creature_emote`
49 ADD PRIMARY KEY (`guid`);
50-- ----------------------------------------------------------------------------
51-- creature_mount
52-- ----------------------------------------------------------------------------
53
54ALTER TABLE `creature_mount`
55 DROP PRIMARY KEY;
56
57DELETE c FROM creature_mount c LEFT JOIN guid_map m ON c.guid = m.old WHERE m.old IS NULL;
58UPDATE creature_mount c JOIN guid_map m ON c.guid = m.old SET c.guid = m.new;
59
60ALTER TABLE `creature_mount`
61 ADD PRIMARY KEY (`guid`);
62
63-- ----------------------------------------------------------------------------
64-- creature_path
65-- ----------------------------------------------------------------------------
66
67ALTER TABLE `creature_path`
68 DROP PRIMARY KEY;
69
70DELETE c FROM creature_path c LEFT JOIN guid_map m ON c.guid = m.old WHERE m.old IS NULL;
71UPDATE creature_path c JOIN guid_map m ON c.guid = m.old SET c.guid = m.new;
72
73ALTER TABLE `creature_path`
74 ADD PRIMARY KEY (`guid`);
75
76-- ----------------------------------------------------------------------------
77-- creature_script_names
78-- ----------------------------------------------------------------------------
79
80ALTER TABLE `creature_script_names`
81 DROP PRIMARY KEY;
82
83DELETE c FROM creature_script_names c LEFT JOIN guid_map m ON c.guid = m.old WHERE m.old IS NULL;
84UPDATE creature_script_names c JOIN guid_map m ON c.guid = m.old SET c.guid = m.new;
85
86ALTER TABLE `creature_script_names`
87 ADD PRIMARY KEY (`guid`);
88
89-- ----------------------------------------------------------------------------
90-- creature_transport
91-- ----------------------------------------------------------------------------
92
93DELETE c FROM creature_transport c LEFT JOIN guid_map m ON c.guid = m.old WHERE m.old IS NULL;
94UPDATE creature_transport c JOIN guid_map m ON c.guid = m.old SET c.guid = m.new;
95
96-- ----------------------------------------------------------------------------
97-- creature_respawn
98-- ----------------------------------------------------------------------------
99
100DELETE c FROM creature_respawn c LEFT JOIN guid_map m ON c.guid = m.old WHERE m.old IS NULL;
101UPDATE creature_respawn c JOIN guid_map m ON c.guid = m.old SET c.guid = m.new;
102
103-- ----------------------------------------------------------------------------
104-- game_event_creature
105-- ----------------------------------------------------------------------------
106
107DELETE c FROM game_event_creature c LEFT JOIN guid_map m ON c.guid = m.old WHERE m.old IS NULL;
108UPDATE game_event_creature c JOIN guid_map m ON c.guid = m.old SET c.guid = m.new;
109
110-- ----------------------------------------------------------------------------
111-- game_event_creature_quest
112-- ----------------------------------------------------------------------------
113
114DELETE c FROM game_event_creature_quest c LEFT JOIN guid_map m ON c.id = m.old WHERE m.old IS NULL;
115UPDATE game_event_creature_quest c JOIN guid_map m ON c.id = m.old SET c.id = m.new;
116
117-- ----------------------------------------------------------------------------
118-- game_event_npcflag
119-- ----------------------------------------------------------------------------
120
121DELETE c FROM game_event_npcflag c LEFT JOIN guid_map m ON c.guid = m.old WHERE m.old IS NULL;
122UPDATE game_event_npcflag c JOIN guid_map m ON c.guid = m.old SET c.guid = m.new;
123
124-- ----------------------------------------------------------------------------
125-- pool_creature
126-- ----------------------------------------------------------------------------
127
128ALTER TABLE `pool_creature`
129 DROP PRIMARY KEY;
130
131DELETE c FROM pool_creature c LEFT JOIN guid_map m ON c.guid = m.old WHERE m.old IS NULL;
132UPDATE pool_creature c JOIN guid_map m ON c.guid = m.old SET c.guid = m.new;
133
134ALTER TABLE `pool_creature`
135 ADD PRIMARY KEY (`guid`);
136
137-- ----------------------------------------------------------------------------
138-- vehicle_accessory
139-- ----------------------------------------------------------------------------
140
141DELETE c FROM vehicle_accessory c LEFT JOIN guid_map m ON c.guid = m.old WHERE m.old IS NULL;
142UPDATE vehicle_accessory c JOIN guid_map m ON c.guid = m.old SET c.guid = m.new;
143
144-- ----------------------------------------------------------------------------
145-- creature_formations 1/2
146-- ----------------------------------------------------------------------------
147
148DELETE c FROM creature_formations c LEFT JOIN guid_map m ON c.leaderGUID = m.old WHERE m.old IS NULL;
149UPDATE creature_formations c JOIN guid_map m ON c.leaderGUID = m.old SET c.leaderGUID = m.new;
150
151-- ----------------------------------------------------------------------------
152-- creature_formations 2/2
153-- ----------------------------------------------------------------------------
154
155ALTER TABLE `creature_formations`
156DROP PRIMARY KEY;
157
158DELETE c FROM creature_formations c LEFT JOIN guid_map m ON c.memberGUID = m.old WHERE m.old IS NULL;
159UPDATE creature_formations c JOIN guid_map m ON c.memberGUID = m.old SET c.memberGUID = m.new;
160
161ALTER TABLE `creature_formations`
162 ADD PRIMARY KEY (`memberGUID`);
163
164-- ----------------------------------------------------------------------------
165-- creature_formations_turn_points
166-- ----------------------------------------------------------------------------
167
168DELETE c FROM creature_formations_turn_points c LEFT JOIN guid_map m ON c.leaderGUID = m.old WHERE m.old IS NULL;
169UPDATE creature_formations_turn_points c JOIN guid_map m ON c.leaderGUID = m.old SET c.leaderGUID = m.new;
170
171-- ----------------------------------------------------------------------------
172-- linked_respawn 1/2
173-- ----------------------------------------------------------------------------
174
175DELETE c FROM linked_respawn c LEFT JOIN guid_map m ON c.guid = m.old WHERE m.old IS NULL;
176UPDATE linked_respawn c JOIN guid_map m ON c.guid = m.old SET c.guid = m.new;
177
178-- ----------------------------------------------------------------------------
179-- linked_respawn 2/2
180-- ----------------------------------------------------------------------------
181
182DELETE c FROM linked_respawn c LEFT JOIN guid_map m ON c.linkedGuid = m.old WHERE m.old IS NULL;
183UPDATE linked_respawn c JOIN guid_map m ON c.linkedGuid = m.old SET c.linkedGuid = m.new;
184
185-- ----------------------------------------------------------------------------
186-- smart_scripts 1/4
187-- ----------------------------------------------------------------------------
188
189UPDATE smart_scripts c JOIN guid_map m ON c.entryorguid = -m.old SET c.entryorguid = -m.new WHERE source_type = 0;
190
191-- ----------------------------------------------------------------------------
192-- smart_scripts 2/4
193-- ----------------------------------------------------------------------------
194
195UPDATE smart_scripts c JOIN guid_map m ON c.target_param1 = m.old SET c.target_param1 = m.new WHERE target_type IN (10);
196
197-- ----------------------------------------------------------------------------
198-- smart_scripts 3/4
199-- ----------------------------------------------------------------------------
200
201UPDATE smart_scripts c JOIN guid_map m ON c.event_param1 = m.old SET c.event_param1 = -m.new WHERE event_type = 75 and c.event_param1 < 0;
202
203-- ----------------------------------------------------------------------------
204-- smart_scripts 4/4
205-- ----------------------------------------------------------------------------
206
207UPDATE smart_scripts c JOIN guid_map m ON c.action_param2 = m.old SET c.action_param2 = -m.new WHERE action_type = 133 and c.action_param1 = 0;
208
209-- ----------------------------------------------------------------------------
210-- conditions 2/2
211-- ----------------------------------------------------------------------------
212
213UPDATE conditions c JOIN guid_map m ON c.ConditionValue3 = m.old SET c.ConditionValue3 = m.new WHERE `ConditionTypeOrReference`= 31 AND c.ConditionValue1 = 3;