aboutsummaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
Diffstat (limited to 'sql')
-rw-r--r--sql/base/characters_database.sql4
-rw-r--r--sql/updates/characters/master/2024_04_12_00_characters.sql9
2 files changed, 12 insertions, 1 deletions
diff --git a/sql/base/characters_database.sql b/sql/base/characters_database.sql
index 4bd698adac4..ca06f8a717f 100644
--- a/sql/base/characters_database.sql
+++ b/sql/base/characters_database.sql
@@ -2705,6 +2705,7 @@ CREATE TABLE `item_instance` (
`randomBonusListId` int unsigned NOT NULL DEFAULT '0',
`durability` smallint unsigned NOT NULL DEFAULT '0',
`playedTime` int unsigned NOT NULL DEFAULT '0',
+ `createTime` bigint NOT NULL DEFAULT '0',
`text` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
`battlePetSpeciesId` int unsigned NOT NULL DEFAULT '0',
`battlePetBreedData` int unsigned NOT NULL DEFAULT '0',
@@ -3723,7 +3724,8 @@ INSERT INTO `updates` VALUES
('2023_11_09_00_characters.sql','1A3D7CA6890353DA55793FE8D925CC8C54965A69','ARCHIVED','2023-11-09 00:56:31',0),
('2023_11_15_00_characters.sql','441E0F17DE3E3945307AC400DF86FCDF06C61653','ARCHIVED','2023-11-15 00:53:47',0),
('2024_02_08_00_characters.sql','743A11042AA17CDBD5F3D510D24509A10838DB5A','ARCHIVED','2024-02-08 00:56:26',0),
-('2024_04_09_00_characters.sql','07AC79B4E489B1CD073852EC57D12939C2A1D4B1','RELEASED','2024-04-09 12:54:11',0);
+('2024_04_09_00_characters.sql','07AC79B4E489B1CD073852EC57D12939C2A1D4B1','RELEASED','2024-04-09 12:54:11',0),
+('2024_04_12_00_characters.sql','043E023F998DA77170C9D2D0162CAA340290B215','RELEASED','2024-04-12 00:23:51',0);
/*!40000 ALTER TABLE `updates` ENABLE KEYS */;
UNLOCK TABLES;
diff --git a/sql/updates/characters/master/2024_04_12_00_characters.sql b/sql/updates/characters/master/2024_04_12_00_characters.sql
new file mode 100644
index 00000000000..a26b60bb3c1
--- /dev/null
+++ b/sql/updates/characters/master/2024_04_12_00_characters.sql
@@ -0,0 +1,9 @@
+ALTER TABLE `item_instance` ADD `createTime` bigint NOT NULL DEFAULT '0' AFTER `playedTime`;
+
+UPDATE `item_instance` SET `createTime` = COALESCE(
+ (SELECT LEAST(c.`logout_time`, GREATEST(c.`createTime`, c.`logout_time` -
+ ((c.`totaltime`-`playedTime`)
+ / GREATEST(c.`totaltime`, 1)
+ * (c.`logout_time`-c.`createTime`)))) FROM `characters` c WHERE c.`guid`=`owner_guid`),
+ UNIX_TIMESTAMP()
+);