aboutsummaryrefslogtreecommitdiff
path: root/src/server/shared/Database/Implementation
diff options
context:
space:
mode:
authorclick <none@none>2010-11-19 15:53:14 +0100
committerclick <none@none>2010-11-19 15:53:14 +0100
commit5cd39040592f526719d99b960a1a0d16499f86b4 (patch)
treeef668f219c2bfc0c56d69312f56ab8f08fe26cb5 /src/server/shared/Database/Implementation
parent3e27be75014ec74efc94a8d7bcc03f2391dcc098 (diff)
Core/DBLayer: Move tables reserved_name, gameobject_respawn and creature_respawn from WORLD database to CHARACTER database as it's content is realm-specific and should be preserved (thanks to leak for the cleanup)
*** TO PRESERVE (COPY) THE DATA CONTAINED IN THE OLD TABLES, YOU MUST FOLLOW THE FOLLOWING SQL-RECIPE (REPLACE DATABASENAMES WHERE NEEDED!) *** -- Move creature_respawn from world to characters db INSERT INTO `characters`.`creature_respawn` (`guid`, `respawntime`, `instance`) SELECT `guid, `respawntime` `instance` * FROM `world`.`creature_respawn`; -- Remove creature_respawn table from world db DROP TABLE `world`.`creature_respawn`; -- Move gameobject_respawn from world to characters db INSERT INTO `characters`.`gameobject_respawn` (`guid`, `respawntime`, `instance`) SELECT `guid`, `respawntime`, `instance` FROM `world`.`gameobject_respawn`; -- Remove creature_respawn table from world db DROP TABLE `world`.`gameobject_respawn`; -- Move reserved names from world to characters db INSERT INTO `characters`.`reserved_name` (`name`) SELECT `name` FROM `world`.`reserved_name`; -- Remove reserved_names table from world db DROP TABLE `world`.`reserved_name`; *** THE ABOVE MUST BE DONE, OR EXISTING INSTANCES WILL BE FULLY RESPAWNED - YOU HAVE BEEN WARNED *** Closes issue 4842. Closes issue 4849. --HG-- branch : trunk
Diffstat (limited to 'src/server/shared/Database/Implementation')
-rwxr-xr-xsrc/server/shared/Database/Implementation/CharacterDatabase.cpp4
-rwxr-xr-xsrc/server/shared/Database/Implementation/CharacterDatabase.h4
-rwxr-xr-xsrc/server/shared/Database/Implementation/WorldDatabase.cpp3
-rwxr-xr-xsrc/server/shared/Database/Implementation/WorldDatabase.h3
4 files changed, 8 insertions, 6 deletions
diff --git a/src/server/shared/Database/Implementation/CharacterDatabase.cpp b/src/server/shared/Database/Implementation/CharacterDatabase.cpp
index 4963a0b89f3..92257ba9ace 100755
--- a/src/server/shared/Database/Implementation/CharacterDatabase.cpp
+++ b/src/server/shared/Database/Implementation/CharacterDatabase.cpp
@@ -211,5 +211,9 @@ bool CharacterDatabaseConnection::Open()
PrepareStatement(CHAR_CLEAN_GUILD_BANK_TABS, "DELETE FROM guild_bank_tab WHERE guildId NOT IN (SELECT guildid FROM guild)");
PrepareStatement(CHAR_CLEAN_GUILD_BANK_RIGHTS, "DELETE FROM guild_bank_right WHERE guildId NOT IN (SELECT guildid FROM guild)");
PrepareStatement(CHAR_CLEAN_GUILD_BANK_ITEMS, "DELETE FROM guild_bank_item WHERE guildId NOT IN (SELECT guildid FROM guild)");
+ PrepareStatement(CHAR_DEL_GAMEOBJECT_RESPAWN_TIMES, "DELETE FROM gameobject_respawn WHERE respawntime <= UNIX_TIMESTAMP(NOW())");
+ PrepareStatement(CHAR_DEL_CRESPAWNTIME, "DELETE FROM creature_respawn WHERE guid = ? AND instance = ?");
+ PrepareStatement(CHAR_ADD_CRESPAWNTIME, "INSERT INTO creature_respawn VALUES (?, ?, ?)");
+
return true;
}
diff --git a/src/server/shared/Database/Implementation/CharacterDatabase.h b/src/server/shared/Database/Implementation/CharacterDatabase.h
index 041afca2a23..e8fc1b64418 100755
--- a/src/server/shared/Database/Implementation/CharacterDatabase.h
+++ b/src/server/shared/Database/Implementation/CharacterDatabase.h
@@ -177,6 +177,10 @@ enum CharacterDatabaseStatements
CHAR_CLEAN_GUILD_BANK_RIGHTS,
CHAR_CLEAN_GUILD_BANK_ITEMS,
+ CHAR_DEL_GAMEOBJECT_RESPAWN_TIMES,
+ CHAR_DEL_CRESPAWNTIME,
+ CHAR_ADD_CRESPAWNTIME,
+
MAX_CHARACTERDATABASE_STATEMENTS,
};
diff --git a/src/server/shared/Database/Implementation/WorldDatabase.cpp b/src/server/shared/Database/Implementation/WorldDatabase.cpp
index 71cf9c82d45..57c6312f1b8 100755
--- a/src/server/shared/Database/Implementation/WorldDatabase.cpp
+++ b/src/server/shared/Database/Implementation/WorldDatabase.cpp
@@ -29,12 +29,9 @@ bool WorldDatabaseConnection::Open()
LOAD YOUR PREPARED STATEMENTS HERE
##################################
*/
- PrepareStatement(WORLD_DEL_CRESPAWNTIME, "DELETE FROM creature_respawn WHERE guid = ? AND instance = ?");
- PrepareStatement(WORLD_ADD_CRESPAWNTIME, "INSERT INTO creature_respawn VALUES (?, ?, ?)");
PrepareStatement(WORLD_LOAD_QUEST_POOLS, "SELECT entry, pool_entry FROM pool_quest");
PrepareStatement(WORLD_DEL_CRELINKED_RESPAWN, "DELETE FROM creature_linked_respawn WHERE guid = ?");
PrepareStatement(WORLD_REP_CRELINKED_RESPAWN, "REPLACE INTO creature_linked_respawn (guid,linkedGuid) VALUES (?, ?)");
- PrepareStatement(WORLD_DEL_GAMEOBJECT_RESPAWN_TIMES, "DELETE FROM gameobject_respawn WHERE respawntime <= UNIX_TIMESTAMP(NOW())");
PrepareStatement(WORLD_LOAD_CRETEXT, "SELECT entry, groupid, id, text, type, language, probability, emote, duration, sound FROM creature_text");
PrepareStatement(WORLD_LOAD_SMART_SCRIPTS, "SELECT entryorguid, source_type, id, link, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, target_type, target_param1, target_param2, target_param3, target_x, target_y, target_z, target_o FROM smart_scripts ORDER BY entryorguid, source_type, id, link");
PrepareStatement(WORLD_LOAD_SMARTAI_WP, "SELECT entry, pointid, position_x, position_y, position_z FROM waypoints ORDER BY entry, pointid");
diff --git a/src/server/shared/Database/Implementation/WorldDatabase.h b/src/server/shared/Database/Implementation/WorldDatabase.h
index 1995b8e6301..c502ff019f9 100755
--- a/src/server/shared/Database/Implementation/WorldDatabase.h
+++ b/src/server/shared/Database/Implementation/WorldDatabase.h
@@ -42,12 +42,9 @@ enum WorldDatabaseStatements
name for a suiting suffix.
*/
- WORLD_DEL_CRESPAWNTIME,
- WORLD_ADD_CRESPAWNTIME,
WORLD_LOAD_QUEST_POOLS,
WORLD_DEL_CRELINKED_RESPAWN,
WORLD_REP_CRELINKED_RESPAWN,
- WORLD_DEL_GAMEOBJECT_RESPAWN_TIMES,
WORLD_LOAD_CRETEXT,
WORLD_LOAD_SMART_SCRIPTS,
WORLD_LOAD_SMARTAI_WP,