diff options
author | megamage <none@none> | 2009-06-13 20:45:01 -0500 |
---|---|---|
committer | megamage <none@none> | 2009-06-13 20:45:01 -0500 |
commit | c75bc47c7be9c0563d038920702dff9f70a0a3ba (patch) | |
tree | c72198e7229ee6780451691e8fb3f4be541821d5 /sql/tools | |
parent | eb2ee21b38b76c7673676ce203d1d553369bf096 (diff) |
*Update db merging tool. Allow merge creature_template and model
--HG--
branch : trunk
Diffstat (limited to 'sql/tools')
-rw-r--r-- | sql/tools/world_merge_db/world_merge_creature.sql | 44 | ||||
-rw-r--r-- | sql/tools/world_merge_db/world_remove_merged_creature.sql | 6 |
2 files changed, 48 insertions, 2 deletions
diff --git a/sql/tools/world_merge_db/world_merge_creature.sql b/sql/tools/world_merge_db/world_merge_creature.sql index 810031e6d3e..8e8b14cbd5f 100644 --- a/sql/tools/world_merge_db/world_merge_creature.sql +++ b/sql/tools/world_merge_db/world_merge_creature.sql @@ -1,13 +1,53 @@ -DROP TABLE IF EXISTS merge_creature; +-- -------- +-- creature_template +-- -------- + +DROP TABLE IF EXISTS merge_creature_template; +CREATE TABLE merge_creature_template +SELECT * FROM world2.creature_template WHERE entry NOT IN (SELECT DISTINCT entry FROM creature_template); + +ALTER TABLE merge_creature_template ADD INDEX entry (entry); + +ALTER TABLE merge_creature_template ADD COLUMN spell5 mediumint(8) unsigned NOT NULL default '0' AFTER spell4; +ALTER TABLE merge_creature_template ADD COLUMN spell6 mediumint(8) unsigned NOT NULL default '0' AFTER spell5; +ALTER TABLE merge_creature_template ADD COLUMN spell7 mediumint(8) unsigned NOT NULL default '0' AFTER spell6; +ALTER TABLE merge_creature_template ADD COLUMN spell8 mediumint(8) unsigned NOT NULL default '0' AFTER spell7; +ALTER TABLE merge_creature_template ADD COLUMN VehicleId mediumint(8) unsigned NOT NULL DEFAULT '0' AFTER PetSpellDataId; + +INSERT creature_template SELECT * FROM merge_creature_template; + + +-- -------- +-- creature_model_info +-- -------- + +DROP TABLE IF EXISTS merge_creature_model_info; +CREATE TABLE merge_creature_model_info +SELECT * FROM world2.creature_model_info WHERE modelid NOT IN (SELECT DISTINCT modelid FROM creature_model_info); + +ALTER TABLE merge_creature_model_info ADD INDEX modelid (modelid); +INSERT creature_model_info SELECT * FROM merge_creature_model_info; + + +-- -------- +-- creature +-- -------- + +DROP TABLE IF EXISTS merge_creature; CREATE TABLE merge_creature (guid_new INT NOT NULL AUTO_INCREMENT PRIMARY KEY) SELECT * FROM world2.creature WHERE id NOT IN (SELECT DISTINCT id FROM creature); ALTER TABLE merge_creature ADD INDEX guid (guid); - UPDATE merge_creature SET guid = guid_new + (SELECT MAX(guid) FROM creature); +UPDATE `merge_creature`, `creature_template` SET + +`merge_creature`.`curhealth`=`creature_template`.`minhealth`,`merge_creature`.`curmana`=`creature_template`.`minmana` WHERE `merge_creature`.`id`=`creature_template`.`entry` and +`creature_template`.`RegenHealth` = '1'; ALTER TABLE merge_creature DROP COLUMN guid_new; INSERT creature SELECT * FROM merge_creature; + + diff --git a/sql/tools/world_merge_db/world_remove_merged_creature.sql b/sql/tools/world_merge_db/world_remove_merged_creature.sql index c9b95bd9f17..ad3fd85edb6 100644 --- a/sql/tools/world_merge_db/world_remove_merged_creature.sql +++ b/sql/tools/world_merge_db/world_remove_merged_creature.sql @@ -1,2 +1,8 @@ DELETE FROM creature WHERE guid IN (SELECT guid FROM merge_creature); DROP TABLE IF EXISTS merge_creature; + +DELETE FROM creature_model_info WHERE modelid IN (SELECT modelid FROM merge_creature_model_info); +DROP TABLE IF EXISTS merge_creature_model_info; + +DELETE FROM creature_template WHERE entry IN (SELECT entry FROM merge_creature_template); +DROP TABLE IF EXISTS merge_creature_template; |