diff options
| author | Shauren <shauren.trinity@gmail.com> | 2021-10-02 21:28:11 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2021-10-02 21:28:11 +0200 |
| commit | 11762273c68b24b332238aa89a73b9ed9ac1d249 (patch) | |
| tree | adff35fd1a30acb4b1985d0996c172a3cf743dc8 /sql/updates/characters | |
| parent | 1440586be841fef21af03a602d8e198a4ab4193a (diff) | |
Core/Players: Store player creation timestamp and type (normal/npe)
Diffstat (limited to 'sql/updates/characters')
| -rw-r--r-- | sql/updates/characters/master/2021_10_02_00_characters.sql | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/sql/updates/characters/master/2021_10_02_00_characters.sql b/sql/updates/characters/master/2021_10_02_00_characters.sql new file mode 100644 index 00000000000..e6e6285b72f --- /dev/null +++ b/sql/updates/characters/master/2021_10_02_00_characters.sql @@ -0,0 +1,12 @@ +ALTER TABLE `characters` + ADD `createTime` bigint(20) NOT NULL DEFAULT '0' AFTER `online`, + ADD `createMode` tinyint(4) NOT NULL DEFAULT '0' AFTER `createTime`; + + -- AT_LOGIN_FIRST: Characters that have never logged in have accurate creation timestamp in `logout_time` +UPDATE `characters` SET `createTime`=`logout_time` WHERE (`at_login` & 0x20) != 0; + -- attempt to find lowest criteria timestamp for characters that have logged in already +UPDATE `characters` SET `createTime`=(SELECT COALESCE(MIN(candidates.`date`), UNIX_TIMESTAMP()) FROM ( +SELECT MIN(cap.`date`) `date` FROM `character_achievement_progress` cap WHERE cap.`guid`=`characters`.`guid` +UNION +SELECT MIN(ca.`date`) `date` FROM `character_achievement` ca WHERE ca.`guid`=`characters`.`guid` +) candidates) WHERE (`at_login` & 0x20) = 0; |
