aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/base/characters_database.sql2
-rw-r--r--sql/updates/9758_characters_game_event_save.sql4
-rw-r--r--src/server/game/Events/GameEventMgr.cpp8
3 files changed, 9 insertions, 5 deletions
diff --git a/sql/base/characters_database.sql b/sql/base/characters_database.sql
index 591e15ff14c..a03fbddb23b 100644
--- a/sql/base/characters_database.sql
+++ b/sql/base/characters_database.sql
@@ -1213,7 +1213,7 @@ DROP TABLE IF EXISTS `game_event_save`;
CREATE TABLE `game_event_save` (
`event_id` mediumint(8) unsigned NOT NULL,
`state` tinyint(3) unsigned NOT NULL default '1',
- `next_start` timestamp NOT NULL default '0000-00-00 00:00:00',
+ `next_start` BIGINT(11) UNSIGNED NOT NULL DEFAULT '0',
PRIMARY KEY (`event_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
diff --git a/sql/updates/9758_characters_game_event_save.sql b/sql/updates/9758_characters_game_event_save.sql
new file mode 100644
index 00000000000..593840fd88c
--- /dev/null
+++ b/sql/updates/9758_characters_game_event_save.sql
@@ -0,0 +1,4 @@
+ALTER TABLE `game_event_save` ADD `next_start_timestamp` BIGINT(11) UNSIGNED NOT NULL DEFAULT '0';
+UPDATE `game_event_save` SET `next_start_timestamp` = UNIX_TIMESTAMP(`next_start`);
+ALTER TABLE `game_event_save` DROP `next_start`;
+ALTER TABLE `game_event_save` CHANGE `next_start_timestamp` `next_start` BIGINT(11) UNSIGNED NOT NULL DEFAULT '0';
diff --git a/src/server/game/Events/GameEventMgr.cpp b/src/server/game/Events/GameEventMgr.cpp
index 6d1976bd4b8..096634ad3ff 100644
--- a/src/server/game/Events/GameEventMgr.cpp
+++ b/src/server/game/Events/GameEventMgr.cpp
@@ -278,8 +278,8 @@ void GameEventMgr::LoadFromDB()
sLog.outString("Loading Game Event Saves Data...");
- // 0 1 2
- result = CharacterDatabase.Query("SELECT event_id, state, UNIX_TIMESTAMP(next_start) FROM game_event_save");
+ // 0 1 2
+ result = CharacterDatabase.Query("SELECT event_id, state, next_start FROM game_event_save");
count = 0;
if (!result)
@@ -1676,9 +1676,9 @@ void GameEventMgr::SaveWorldEventStateToDB(uint16 event_id)
SQLTransaction trans = CharacterDatabase.BeginTransaction();
trans->PAppend("DELETE FROM game_event_save WHERE event_id = '%u'",event_id);
if (mGameEvent[event_id].nextstart)
- trans->PAppend("INSERT INTO game_event_save (event_id, state, next_start) VALUES ('%u','%u',FROM_UNIXTIME("UI64FMTD"))",event_id,mGameEvent[event_id].state,(uint64)(mGameEvent[event_id].nextstart));
+ trans->PAppend("INSERT INTO game_event_save (event_id, state, next_start) VALUES ('%u','%u', "UI64FMTD")",event_id,mGameEvent[event_id].state,(uint64)(mGameEvent[event_id].nextstart));
else
- trans->PAppend("INSERT INTO game_event_save (event_id, state, next_start) VALUES ('%u','%u','0000-00-00 00:00:00')",event_id,mGameEvent[event_id].state);
+ trans->PAppend("INSERT INTO game_event_save (event_id, state, next_start) VALUES ('%u','%u','0')",event_id,mGameEvent[event_id].state);
CharacterDatabase.CommitTransaction(trans);
}