Prechádzať zdrojové kódy

Fixed random options with negative values being stored as 0 in database. (#2465)

* Made random option database columns signed
* Negative values can now be stored for random options
* Fixed #2415
Thanks to @uddevil

* Follow up to ea28ff4. Updated main SQL scripts.
Jittapan Pluemsumran 7 rokov pred
rodič
commit
f20ac015d1

+ 15 - 15
sql-files/logs.sql

@@ -178,21 +178,21 @@ CREATE TABLE IF NOT EXISTS `picklog` (
   `card1` smallint(5) unsigned NOT NULL default '0',
   `card2` smallint(5) unsigned NOT NULL default '0',
   `card3` smallint(5) unsigned NOT NULL default '0',
-  `option_id0` smallint(5) unsigned NOT NULL default '0',
-  `option_val0` smallint(5) unsigned NOT NULL default '0',
-  `option_parm0` tinyint(3) unsigned NOT NULL default '0',
-  `option_id1` smallint(5) unsigned NOT NULL default '0',
-  `option_val1` smallint(5) unsigned NOT NULL default '0',
-  `option_parm1` tinyint(3) unsigned NOT NULL default '0',
-  `option_id2` smallint(5) unsigned NOT NULL default '0',
-  `option_val2` smallint(5) unsigned NOT NULL default '0',
-  `option_parm2` tinyint(3) unsigned NOT NULL default '0',
-  `option_id3` smallint(5) unsigned NOT NULL default '0',
-  `option_val3` smallint(5) unsigned NOT NULL default '0',
-  `option_parm3` tinyint(3) unsigned NOT NULL default '0',
-  `option_id4` smallint(5) unsigned NOT NULL default '0',
-  `option_val4` smallint(5) unsigned NOT NULL default '0',
-  `option_parm4` tinyint(3) unsigned NOT NULL default '0',
+  `option_id0` smallint(5) NOT NULL default '0',
+  `option_val0` smallint(5) NOT NULL default '0',
+  `option_parm0` tinyint(3) NOT NULL default '0',
+  `option_id1` smallint(5) NOT NULL default '0',
+  `option_val1` smallint(5) NOT NULL default '0',
+  `option_parm1` tinyint(3) NOT NULL default '0',
+  `option_id2` smallint(5) NOT NULL default '0',
+  `option_val2` smallint(5) NOT NULL default '0',
+  `option_parm2` tinyint(3) NOT NULL default '0',
+  `option_id3` smallint(5) NOT NULL default '0',
+  `option_val3` smallint(5) NOT NULL default '0',
+  `option_parm3` tinyint(3) NOT NULL default '0',
+  `option_id4` smallint(5) NOT NULL default '0',
+  `option_val4` smallint(5) NOT NULL default '0',
+  `option_parm4` tinyint(3) NOT NULL default '0',
   `unique_id` bigint(20) unsigned NOT NULL default '0',
   `map` varchar(11) NOT NULL default '',
   `bound` tinyint(1) unsigned NOT NULL default '0',

+ 90 - 90
sql-files/main.sql

@@ -70,21 +70,21 @@ CREATE TABLE IF NOT EXISTS `auction` (
   `card1` smallint(5) unsigned NOT NULL default '0',
   `card2` smallint(5) unsigned NOT NULL default '0',
   `card3` smallint(5) unsigned NOT NULL default '0',
-  `option_id0` smallint(5) unsigned NOT NULL default '0',
-  `option_val0` smallint(5) unsigned NOT NULL default '0',
-  `option_parm0` tinyint(3) unsigned NOT NULL default '0',
-  `option_id1` smallint(5) unsigned NOT NULL default '0',
-  `option_val1` smallint(5) unsigned NOT NULL default '0',
-  `option_parm1` tinyint(3) unsigned NOT NULL default '0',
-  `option_id2` smallint(5) unsigned NOT NULL default '0',
-  `option_val2` smallint(5) unsigned NOT NULL default '0',
-  `option_parm2` tinyint(3) unsigned NOT NULL default '0',
-  `option_id3` smallint(5) unsigned NOT NULL default '0',
-  `option_val3` smallint(5) unsigned NOT NULL default '0',
-  `option_parm3` tinyint(3) unsigned NOT NULL default '0',
-  `option_id4` smallint(5) unsigned NOT NULL default '0',
-  `option_val4` smallint(5) unsigned NOT NULL default '0',
-  `option_parm4` tinyint(3) unsigned NOT NULL default '0',
+  `option_id0` smallint(5) NOT NULL default '0',
+  `option_val0` smallint(5) NOT NULL default '0',
+  `option_parm0` tinyint(3) NOT NULL default '0',
+  `option_id1` smallint(5) NOT NULL default '0',
+  `option_val1` smallint(5) NOT NULL default '0',
+  `option_parm1` tinyint(3) NOT NULL default '0',
+  `option_id2` smallint(5) NOT NULL default '0',
+  `option_val2` smallint(5) NOT NULL default '0',
+  `option_parm2` tinyint(3) NOT NULL default '0',
+  `option_id3` smallint(5) NOT NULL default '0',
+  `option_val3` smallint(5) NOT NULL default '0',
+  `option_parm3` tinyint(3) NOT NULL default '0',
+  `option_id4` smallint(5) NOT NULL default '0',
+  `option_val4` smallint(5) NOT NULL default '0',
+  `option_parm4` tinyint(3) NOT NULL default '0',
   `unique_id` bigint(20) unsigned NOT NULL default '0',
   PRIMARY KEY  (`auction_id`)
 ) ENGINE=MyISAM;
@@ -165,21 +165,21 @@ CREATE TABLE IF NOT EXISTS `cart_inventory` (
   `card1` smallint(5) unsigned NOT NULL default '0',
   `card2` smallint(5) unsigned NOT NULL default '0',
   `card3` smallint(5) unsigned NOT NULL default '0',
-  `option_id0` smallint(5) unsigned NOT NULL default '0',
-  `option_val0` smallint(5) unsigned NOT NULL default '0',
-  `option_parm0` tinyint(3) unsigned NOT NULL default '0',
-  `option_id1` smallint(5) unsigned NOT NULL default '0',
-  `option_val1` smallint(5) unsigned NOT NULL default '0',
-  `option_parm1` tinyint(3) unsigned NOT NULL default '0',
-  `option_id2` smallint(5) unsigned NOT NULL default '0',
-  `option_val2` smallint(5) unsigned NOT NULL default '0',
-  `option_parm2` tinyint(3) unsigned NOT NULL default '0',
-  `option_id3` smallint(5) unsigned NOT NULL default '0',
-  `option_val3` smallint(5) unsigned NOT NULL default '0',
-  `option_parm3` tinyint(3) unsigned NOT NULL default '0',
-  `option_id4` smallint(5) unsigned NOT NULL default '0',
-  `option_val4` smallint(5) unsigned NOT NULL default '0',
-  `option_parm4` tinyint(3) unsigned NOT NULL default '0',
+  `option_id0` smallint(5) NOT NULL default '0',
+  `option_val0` smallint(5) NOT NULL default '0',
+  `option_parm0` tinyint(3) NOT NULL default '0',
+  `option_id1` smallint(5) NOT NULL default '0',
+  `option_val1` smallint(5) NOT NULL default '0',
+  `option_parm1` tinyint(3) NOT NULL default '0',
+  `option_id2` smallint(5) NOT NULL default '0',
+  `option_val2` smallint(5) NOT NULL default '0',
+  `option_parm2` tinyint(3) NOT NULL default '0',
+  `option_id3` smallint(5) NOT NULL default '0',
+  `option_val3` smallint(5) NOT NULL default '0',
+  `option_parm3` tinyint(3) NOT NULL default '0',
+  `option_id4` smallint(5) NOT NULL default '0',
+  `option_val4` smallint(5) NOT NULL default '0',
+  `option_parm4` tinyint(3) NOT NULL default '0',
   `expire_time` int(11) unsigned NOT NULL default '0',
   `bound` tinyint(3) unsigned NOT NULL default '0',
   `unique_id` bigint(20) unsigned NOT NULL default '0',
@@ -558,21 +558,21 @@ CREATE TABLE IF NOT EXISTS `guild_storage` (
   `card1` smallint(5) unsigned NOT NULL default '0',
   `card2` smallint(5) unsigned NOT NULL default '0',
   `card3` smallint(5) unsigned NOT NULL default '0',
-  `option_id0` smallint(5) unsigned NOT NULL default '0',
-  `option_val0` smallint(5) unsigned NOT NULL default '0',
-  `option_parm0` tinyint(3) unsigned NOT NULL default '0',
-  `option_id1` smallint(5) unsigned NOT NULL default '0',
-  `option_val1` smallint(5) unsigned NOT NULL default '0',
-  `option_parm1` tinyint(3) unsigned NOT NULL default '0',
-  `option_id2` smallint(5) unsigned NOT NULL default '0',
-  `option_val2` smallint(5) unsigned NOT NULL default '0',
-  `option_parm2` tinyint(3) unsigned NOT NULL default '0',
-  `option_id3` smallint(5) unsigned NOT NULL default '0',
-  `option_val3` smallint(5) unsigned NOT NULL default '0',
-  `option_parm3` tinyint(3) unsigned NOT NULL default '0',
-  `option_id4` smallint(5) unsigned NOT NULL default '0',
-  `option_val4` smallint(5) unsigned NOT NULL default '0',
-  `option_parm4` tinyint(3) unsigned NOT NULL default '0',
+  `option_id0` smallint(5) NOT NULL default '0',
+  `option_val0` smallint(5) NOT NULL default '0',
+  `option_parm0` tinyint(3) NOT NULL default '0',
+  `option_id1` smallint(5) NOT NULL default '0',
+  `option_val1` smallint(5) NOT NULL default '0',
+  `option_parm1` tinyint(3) NOT NULL default '0',
+  `option_id2` smallint(5) NOT NULL default '0',
+  `option_val2` smallint(5) NOT NULL default '0',
+  `option_parm2` tinyint(3) NOT NULL default '0',
+  `option_id3` smallint(5) NOT NULL default '0',
+  `option_val3` smallint(5) NOT NULL default '0',
+  `option_parm3` tinyint(3) NOT NULL default '0',
+  `option_id4` smallint(5) NOT NULL default '0',
+  `option_val4` smallint(5) NOT NULL default '0',
+  `option_parm4` tinyint(3) NOT NULL default '0',
   `expire_time` int(11) unsigned NOT NULL default '0',
   `bound` tinyint(3) unsigned NOT NULL default '0',
   `unique_id` bigint(20) unsigned NOT NULL default '0',
@@ -660,21 +660,21 @@ CREATE TABLE IF NOT EXISTS `inventory` (
   `card1` smallint(5) unsigned NOT NULL default '0',
   `card2` smallint(5) unsigned NOT NULL default '0',
   `card3` smallint(5) unsigned NOT NULL default '0',
-  `option_id0` smallint(5) unsigned NOT NULL default '0',
-  `option_val0` smallint(5) unsigned NOT NULL default '0',
-  `option_parm0` tinyint(3) unsigned NOT NULL default '0',
-  `option_id1` smallint(5) unsigned NOT NULL default '0',
-  `option_val1` smallint(5) unsigned NOT NULL default '0',
-  `option_parm1` tinyint(3) unsigned NOT NULL default '0',
-  `option_id2` smallint(5) unsigned NOT NULL default '0',
-  `option_val2` smallint(5) unsigned NOT NULL default '0',
-  `option_parm2` tinyint(3) unsigned NOT NULL default '0',
-  `option_id3` smallint(5) unsigned NOT NULL default '0',
-  `option_val3` smallint(5) unsigned NOT NULL default '0',
-  `option_parm3` tinyint(3) unsigned NOT NULL default '0',
-  `option_id4` smallint(5) unsigned NOT NULL default '0',
-  `option_val4` smallint(5) unsigned NOT NULL default '0',
-  `option_parm4` tinyint(3) unsigned NOT NULL default '0',
+  `option_id0` smallint(5) NOT NULL default '0',
+  `option_val0` smallint(5) NOT NULL default '0',
+  `option_parm0` tinyint(3) NOT NULL default '0',
+  `option_id1` smallint(5) NOT NULL default '0',
+  `option_val1` smallint(5) NOT NULL default '0',
+  `option_parm1` tinyint(3) NOT NULL default '0',
+  `option_id2` smallint(5) NOT NULL default '0',
+  `option_val2` smallint(5) NOT NULL default '0',
+  `option_parm2` tinyint(3) NOT NULL default '0',
+  `option_id3` smallint(5) NOT NULL default '0',
+  `option_val3` smallint(5) NOT NULL default '0',
+  `option_parm3` tinyint(3) NOT NULL default '0',
+  `option_id4` smallint(5) NOT NULL default '0',
+  `option_val4` smallint(5) NOT NULL default '0',
+  `option_parm4` tinyint(3) NOT NULL default '0',
   `expire_time` int(11) unsigned NOT NULL default '0',
   `favorite` tinyint(3) unsigned NOT NULL default '0',
   `bound` tinyint(3) unsigned NOT NULL default '0',
@@ -762,21 +762,21 @@ CREATE TABLE IF NOT EXISTS `mail_attachments` (
   `card1` smallint(5) unsigned NOT NULL DEFAULT '0',
   `card2` smallint(5) unsigned NOT NULL DEFAULT '0',
   `card3` smallint(5) unsigned NOT NULL DEFAULT '0',
-  `option_id0` smallint(5) unsigned NOT NULL DEFAULT '0',
-  `option_val0` smallint(5) unsigned NOT NULL DEFAULT '0',
-  `option_parm0` tinyint(3) unsigned NOT NULL DEFAULT '0',
-  `option_id1` smallint(5) unsigned NOT NULL DEFAULT '0',
-  `option_val1` smallint(5) unsigned NOT NULL DEFAULT '0',
-  `option_parm1` tinyint(3) unsigned NOT NULL DEFAULT '0',
-  `option_id2` smallint(5) unsigned NOT NULL DEFAULT '0',
-  `option_val2` smallint(5) unsigned NOT NULL DEFAULT '0',
-  `option_parm2` tinyint(3) unsigned NOT NULL DEFAULT '0',
-  `option_id3` smallint(5) unsigned NOT NULL DEFAULT '0',
-  `option_val3` smallint(5) unsigned NOT NULL DEFAULT '0',
-  `option_parm3` tinyint(3) unsigned NOT NULL DEFAULT '0',
-  `option_id4` smallint(5) unsigned NOT NULL DEFAULT '0',
-  `option_val4` smallint(5) unsigned NOT NULL DEFAULT '0',
-  `option_parm4` tinyint(3) unsigned NOT NULL DEFAULT '0',
+  `option_id0` smallint(5) NOT NULL default '0',
+  `option_val0` smallint(5) NOT NULL default '0',
+  `option_parm0` tinyint(3) NOT NULL default '0',
+  `option_id1` smallint(5) NOT NULL default '0',
+  `option_val1` smallint(5) NOT NULL default '0',
+  `option_parm1` tinyint(3) NOT NULL default '0',
+  `option_id2` smallint(5) NOT NULL default '0',
+  `option_val2` smallint(5) NOT NULL default '0',
+  `option_parm2` tinyint(3) NOT NULL default '0',
+  `option_id3` smallint(5) NOT NULL default '0',
+  `option_val3` smallint(5) NOT NULL default '0',
+  `option_parm3` tinyint(3) NOT NULL default '0',
+  `option_id4` smallint(5) NOT NULL default '0',
+  `option_val4` smallint(5) NOT NULL default '0',
+  `option_parm4` tinyint(3) NOT NULL default '0',
   `unique_id` bigint(20) unsigned NOT NULL DEFAULT '0',
   `bound` tinyint(1) unsigned NOT NULL DEFAULT '0',
     PRIMARY KEY (`id`,`index`)
@@ -1004,21 +1004,21 @@ CREATE TABLE IF NOT EXISTS `storage` (
   `card1` smallint(5) unsigned NOT NULL default '0',
   `card2` smallint(5) unsigned NOT NULL default '0',
   `card3` smallint(5) unsigned NOT NULL default '0',
-  `option_id0` smallint(5) unsigned NOT NULL default '0',
-  `option_val0` smallint(5) unsigned NOT NULL default '0',
-  `option_parm0` tinyint(3) unsigned NOT NULL default '0',
-  `option_id1` smallint(5) unsigned NOT NULL default '0',
-  `option_val1` smallint(5) unsigned NOT NULL default '0',
-  `option_parm1` tinyint(3) unsigned NOT NULL default '0',
-  `option_id2` smallint(5) unsigned NOT NULL default '0',
-  `option_val2` smallint(5) unsigned NOT NULL default '0',
-  `option_parm2` tinyint(3) unsigned NOT NULL default '0',
-  `option_id3` smallint(5) unsigned NOT NULL default '0',
-  `option_val3` smallint(5) unsigned NOT NULL default '0',
-  `option_parm3` tinyint(3) unsigned NOT NULL default '0',
-  `option_id4` smallint(5) unsigned NOT NULL default '0',
-  `option_val4` smallint(5) unsigned NOT NULL default '0',
-  `option_parm4` tinyint(3) unsigned NOT NULL default '0',
+  `option_id0` smallint(5) NOT NULL default '0',
+  `option_val0` smallint(5) NOT NULL default '0',
+  `option_parm0` tinyint(3) NOT NULL default '0',
+  `option_id1` smallint(5) NOT NULL default '0',
+  `option_val1` smallint(5) NOT NULL default '0',
+  `option_parm1` tinyint(3) NOT NULL default '0',
+  `option_id2` smallint(5) NOT NULL default '0',
+  `option_val2` smallint(5) NOT NULL default '0',
+  `option_parm2` tinyint(3) NOT NULL default '0',
+  `option_id3` smallint(5) NOT NULL default '0',
+  `option_val3` smallint(5) NOT NULL default '0',
+  `option_parm3` tinyint(3) NOT NULL default '0',
+  `option_id4` smallint(5) NOT NULL default '0',
+  `option_val4` smallint(5) NOT NULL default '0',
+  `option_parm4` tinyint(3) NOT NULL default '0',
   `expire_time` int(11) unsigned NOT NULL default '0',
   `bound` tinyint(3) unsigned NOT NULL default '0',
   `unique_id` bigint(20) unsigned NOT NULL default '0',

+ 118 - 0
sql-files/upgrades/upgrade_20171001.sql

@@ -0,0 +1,118 @@
+ALTER TABLE `auction`
+	CHANGE COLUMN `option_id0` `option_id0` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `card3`,
+	CHANGE COLUMN `option_val0` `option_val0` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_id0`,
+	CHANGE COLUMN `option_parm0` `option_parm0` TINYINT(3) NOT NULL DEFAULT '0' AFTER `option_val0`,
+	CHANGE COLUMN `option_id1` `option_id1` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_parm0`,
+	CHANGE COLUMN `option_val1` `option_val1` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_id1`,
+	CHANGE COLUMN `option_parm1` `option_parm1` TINYINT(3) NOT NULL DEFAULT '0' AFTER `option_val1`,
+	CHANGE COLUMN `option_id2` `option_id2` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_parm1`,
+	CHANGE COLUMN `option_val2` `option_val2` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_id2`,
+	CHANGE COLUMN `option_parm2` `option_parm2` TINYINT(3) NOT NULL DEFAULT '0' AFTER `option_val2`,
+	CHANGE COLUMN `option_id3` `option_id3` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_parm2`,
+	CHANGE COLUMN `option_val3` `option_val3` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_id3`,
+	CHANGE COLUMN `option_parm3` `option_parm3` TINYINT(3) NOT NULL DEFAULT '0' AFTER `option_val3`,
+	CHANGE COLUMN `option_id4` `option_id4` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_parm3`,
+	CHANGE COLUMN `option_val4` `option_val4` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_id4`,
+	CHANGE COLUMN `option_parm4` `option_parm4` TINYINT(3) NOT NULL DEFAULT '0' AFTER `option_val4`;
+
+ALTER TABLE `cart_inventory`
+	CHANGE COLUMN `option_id0` `option_id0` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `card3`,
+	CHANGE COLUMN `option_val0` `option_val0` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_id0`,
+	CHANGE COLUMN `option_parm0` `option_parm0` TINYINT(3) NOT NULL DEFAULT '0' AFTER `option_val0`,
+	CHANGE COLUMN `option_id1` `option_id1` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_parm0`,
+	CHANGE COLUMN `option_val1` `option_val1` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_id1`,
+	CHANGE COLUMN `option_parm1` `option_parm1` TINYINT(3) NOT NULL DEFAULT '0' AFTER `option_val1`,
+	CHANGE COLUMN `option_id2` `option_id2` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_parm1`,
+	CHANGE COLUMN `option_val2` `option_val2` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_id2`,
+	CHANGE COLUMN `option_parm2` `option_parm2` TINYINT(3) NOT NULL DEFAULT '0' AFTER `option_val2`,
+	CHANGE COLUMN `option_id3` `option_id3` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_parm2`,
+	CHANGE COLUMN `option_val3` `option_val3` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_id3`,
+	CHANGE COLUMN `option_parm3` `option_parm3` TINYINT(3) NOT NULL DEFAULT '0' AFTER `option_val3`,
+	CHANGE COLUMN `option_id4` `option_id4` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_parm3`,
+	CHANGE COLUMN `option_val4` `option_val4` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_id4`,
+	CHANGE COLUMN `option_parm4` `option_parm4` TINYINT(3) NOT NULL DEFAULT '0' AFTER `option_val4`;
+
+ALTER TABLE `guild_storage`
+	CHANGE COLUMN `option_id0` `option_id0` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `card3`,
+	CHANGE COLUMN `option_val0` `option_val0` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_id0`,
+	CHANGE COLUMN `option_parm0` `option_parm0` TINYINT(3) NOT NULL DEFAULT '0' AFTER `option_val0`,
+	CHANGE COLUMN `option_id1` `option_id1` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_parm0`,
+	CHANGE COLUMN `option_val1` `option_val1` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_id1`,
+	CHANGE COLUMN `option_parm1` `option_parm1` TINYINT(3) NOT NULL DEFAULT '0' AFTER `option_val1`,
+	CHANGE COLUMN `option_id2` `option_id2` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_parm1`,
+	CHANGE COLUMN `option_val2` `option_val2` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_id2`,
+	CHANGE COLUMN `option_parm2` `option_parm2` TINYINT(3) NOT NULL DEFAULT '0' AFTER `option_val2`,
+	CHANGE COLUMN `option_id3` `option_id3` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_parm2`,
+	CHANGE COLUMN `option_val3` `option_val3` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_id3`,
+	CHANGE COLUMN `option_parm3` `option_parm3` TINYINT(3) NOT NULL DEFAULT '0' AFTER `option_val3`,
+	CHANGE COLUMN `option_id4` `option_id4` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_parm3`,
+	CHANGE COLUMN `option_val4` `option_val4` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_id4`,
+	CHANGE COLUMN `option_parm4` `option_parm4` TINYINT(3) NOT NULL DEFAULT '0' AFTER `option_val4`;
+
+ALTER TABLE `auction`
+	CHANGE COLUMN `option_id0` `option_id0` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `card3`,
+	CHANGE COLUMN `option_val0` `option_val0` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_id0`,
+	CHANGE COLUMN `option_parm0` `option_parm0` TINYINT(3) NOT NULL DEFAULT '0' AFTER `option_val0`,
+	CHANGE COLUMN `option_id1` `option_id1` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_parm0`,
+	CHANGE COLUMN `option_val1` `option_val1` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_id1`,
+	CHANGE COLUMN `option_parm1` `option_parm1` TINYINT(3) NOT NULL DEFAULT '0' AFTER `option_val1`,
+	CHANGE COLUMN `option_id2` `option_id2` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_parm1`,
+	CHANGE COLUMN `option_val2` `option_val2` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_id2`,
+	CHANGE COLUMN `option_parm2` `option_parm2` TINYINT(3) NOT NULL DEFAULT '0' AFTER `option_val2`,
+	CHANGE COLUMN `option_id3` `option_id3` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_parm2`,
+	CHANGE COLUMN `option_val3` `option_val3` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_id3`,
+	CHANGE COLUMN `option_parm3` `option_parm3` TINYINT(3) NOT NULL DEFAULT '0' AFTER `option_val3`,
+	CHANGE COLUMN `option_id4` `option_id4` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_parm3`,
+	CHANGE COLUMN `option_val4` `option_val4` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_id4`,
+	CHANGE COLUMN `option_parm4` `option_parm4` TINYINT(3) NOT NULL DEFAULT '0' AFTER `option_val4`;
+
+ALTER TABLE `inventory`
+	CHANGE COLUMN `option_id0` `option_id0` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `card3`,
+	CHANGE COLUMN `option_val0` `option_val0` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_id0`,
+	CHANGE COLUMN `option_parm0` `option_parm0` TINYINT(3) NOT NULL DEFAULT '0' AFTER `option_val0`,
+	CHANGE COLUMN `option_id1` `option_id1` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_parm0`,
+	CHANGE COLUMN `option_val1` `option_val1` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_id1`,
+	CHANGE COLUMN `option_parm1` `option_parm1` TINYINT(3) NOT NULL DEFAULT '0' AFTER `option_val1`,
+	CHANGE COLUMN `option_id2` `option_id2` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_parm1`,
+	CHANGE COLUMN `option_val2` `option_val2` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_id2`,
+	CHANGE COLUMN `option_parm2` `option_parm2` TINYINT(3) NOT NULL DEFAULT '0' AFTER `option_val2`,
+	CHANGE COLUMN `option_id3` `option_id3` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_parm2`,
+	CHANGE COLUMN `option_val3` `option_val3` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_id3`,
+	CHANGE COLUMN `option_parm3` `option_parm3` TINYINT(3) NOT NULL DEFAULT '0' AFTER `option_val3`,
+	CHANGE COLUMN `option_id4` `option_id4` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_parm3`,
+	CHANGE COLUMN `option_val4` `option_val4` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_id4`,
+	CHANGE COLUMN `option_parm4` `option_parm4` TINYINT(3) NOT NULL DEFAULT '0' AFTER `option_val4`;
+	
+ALTER TABLE `mail_attachments`
+	CHANGE COLUMN `option_id0` `option_id0` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `card3`,
+	CHANGE COLUMN `option_val0` `option_val0` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_id0`,
+	CHANGE COLUMN `option_parm0` `option_parm0` TINYINT(3) NOT NULL DEFAULT '0' AFTER `option_val0`,
+	CHANGE COLUMN `option_id1` `option_id1` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_parm0`,
+	CHANGE COLUMN `option_val1` `option_val1` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_id1`,
+	CHANGE COLUMN `option_parm1` `option_parm1` TINYINT(3) NOT NULL DEFAULT '0' AFTER `option_val1`,
+	CHANGE COLUMN `option_id2` `option_id2` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_parm1`,
+	CHANGE COLUMN `option_val2` `option_val2` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_id2`,
+	CHANGE COLUMN `option_parm2` `option_parm2` TINYINT(3) NOT NULL DEFAULT '0' AFTER `option_val2`,
+	CHANGE COLUMN `option_id3` `option_id3` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_parm2`,
+	CHANGE COLUMN `option_val3` `option_val3` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_id3`,
+	CHANGE COLUMN `option_parm3` `option_parm3` TINYINT(3) NOT NULL DEFAULT '0' AFTER `option_val3`,
+	CHANGE COLUMN `option_id4` `option_id4` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_parm3`,
+	CHANGE COLUMN `option_val4` `option_val4` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_id4`,
+	CHANGE COLUMN `option_parm4` `option_parm4` TINYINT(3) NOT NULL DEFAULT '0' AFTER `option_val4`;
+
+ALTER TABLE `storage`
+	CHANGE COLUMN `option_id0` `option_id0` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `card3`,
+	CHANGE COLUMN `option_val0` `option_val0` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_id0`,
+	CHANGE COLUMN `option_parm0` `option_parm0` TINYINT(3) NOT NULL DEFAULT '0' AFTER `option_val0`,
+	CHANGE COLUMN `option_id1` `option_id1` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_parm0`,
+	CHANGE COLUMN `option_val1` `option_val1` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_id1`,
+	CHANGE COLUMN `option_parm1` `option_parm1` TINYINT(3) NOT NULL DEFAULT '0' AFTER `option_val1`,
+	CHANGE COLUMN `option_id2` `option_id2` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_parm1`,
+	CHANGE COLUMN `option_val2` `option_val2` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_id2`,
+	CHANGE COLUMN `option_parm2` `option_parm2` TINYINT(3) NOT NULL DEFAULT '0' AFTER `option_val2`,
+	CHANGE COLUMN `option_id3` `option_id3` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_parm2`,
+	CHANGE COLUMN `option_val3` `option_val3` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_id3`,
+	CHANGE COLUMN `option_parm3` `option_parm3` TINYINT(3) NOT NULL DEFAULT '0' AFTER `option_val3`,
+	CHANGE COLUMN `option_id4` `option_id4` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_parm3`,
+	CHANGE COLUMN `option_val4` `option_val4` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_id4`,
+	CHANGE COLUMN `option_parm4` `option_parm4` TINYINT(3) NOT NULL DEFAULT '0' AFTER `option_val4`;

+ 16 - 0
sql-files/upgrades/upgrade_20171001_logs.sql

@@ -0,0 +1,16 @@
+ALTER TABLE `picklog`
+	CHANGE COLUMN `option_id0` `option_id0` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `card3`,
+	CHANGE COLUMN `option_val0` `option_val0` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_id0`,
+	CHANGE COLUMN `option_parm0` `option_parm0` TINYINT(3) NOT NULL DEFAULT '0' AFTER `option_val0`,
+	CHANGE COLUMN `option_id1` `option_id1` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_parm0`,
+	CHANGE COLUMN `option_val1` `option_val1` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_id1`,
+	CHANGE COLUMN `option_parm1` `option_parm1` TINYINT(3) NOT NULL DEFAULT '0' AFTER `option_val1`,
+	CHANGE COLUMN `option_id2` `option_id2` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_parm1`,
+	CHANGE COLUMN `option_val2` `option_val2` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_id2`,
+	CHANGE COLUMN `option_parm2` `option_parm2` TINYINT(3) NOT NULL DEFAULT '0' AFTER `option_val2`,
+	CHANGE COLUMN `option_id3` `option_id3` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_parm2`,
+	CHANGE COLUMN `option_val3` `option_val3` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_id3`,
+	CHANGE COLUMN `option_parm3` `option_parm3` TINYINT(3) NOT NULL DEFAULT '0' AFTER `option_val3`,
+	CHANGE COLUMN `option_id4` `option_id4` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_parm3`,
+	CHANGE COLUMN `option_val4` `option_val4` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `option_id4`,
+	CHANGE COLUMN `option_parm4` `option_parm4` TINYINT(3) NOT NULL DEFAULT '0' AFTER `option_val4`;