Added primary key to tables that lack them & Dropped sstatus table (#4306)

* Added primary key to tables that lack them

* Dropped table sstatus

* Changed some primary keys and dropped no longer needed indexes

* Indent upgrade file with spaces
[ci skip]

* Fixed upgrade query on bonus_script table

* Renamed to current date

* Added missing table to engine conversion script

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
This commit is contained in:
Jittapan Pluemsumran 2019-12-22 20:04:31 +07:00 committed by GitHub
parent 1bd33fb108
commit f2a1b6e784
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 142 additions and 33 deletions

View File

@ -112,7 +112,8 @@ CREATE TABLE IF NOT EXISTS `bonus_script` (
`tick` BIGINT(20) NOT NULL DEFAULT '0',
`flag` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
`type` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0',
`icon` SMALLINT(3) NOT NULL DEFAULT '-1'
`icon` SMALLINT(3) NOT NULL DEFAULT '-1',
PRIMARY KEY (`char_id`, `type`)
) ENGINE=InnoDB;
--
@ -124,7 +125,8 @@ CREATE TABLE IF NOT EXISTS `buyingstore_items` (
`index` smallint(5) unsigned NOT NULL,
`item_id` int(10) unsigned NOT NULL,
`amount` smallint(5) unsigned NOT NULL,
`price` int(10) unsigned NOT NULL
`price` int(10) unsigned NOT NULL,
PRIMARY KEY (`buyingstore_id`, `index`)
) ENGINE=MyISAM;
--
@ -307,7 +309,8 @@ CREATE TABLE IF NOT EXISTS `charlog` (
`dex` int(11) unsigned NOT NULL default '0',
`luk` int(11) unsigned NOT NULL default '0',
`hair` tinyint(4) NOT NULL default '0',
`hair_color` int(11) NOT NULL default '0'
`hair_color` int(11) NOT NULL default '0',
PRIMARY KEY (`time`, `account_id`, `char_num`)
) ENGINE=MyISAM;
--
@ -387,7 +390,7 @@ CREATE TABLE IF NOT EXISTS `friends` (
`char_id` int(11) NOT NULL default '0',
`friend_account` int(11) NOT NULL default '0',
`friend_id` int(11) NOT NULL default '0',
KEY `char_id` (`char_id`)
PRIMARY KEY (`char_id`, `friend_id`)
) ENGINE=MyISAM;
--
@ -658,12 +661,12 @@ CREATE TABLE IF NOT EXISTS `homunculus` (
--
CREATE TABLE IF NOT EXISTS `hotkey` (
`char_id` INT(11) NOT NULL,
`hotkey` TINYINT(2) unsigned NOT NULL,
`type` TINYINT(1) unsigned NOT NULL default '0',
`itemskill_id` INT(11) unsigned NOT NULL default '0',
`skill_lvl` TINYINT(4) unsigned NOT NULL default '0',
PRIMARY KEY (`char_id`,`hotkey`)
`char_id` INT(11) NOT NULL,
`hotkey` TINYINT(2) unsigned NOT NULL,
`type` TINYINT(1) unsigned NOT NULL default '0',
`itemskill_id` INT(11) unsigned NOT NULL default '0',
`skill_lvl` TINYINT(4) unsigned NOT NULL default '0',
PRIMARY KEY (`char_id`,`hotkey`)
) ENGINE=MyISAM;
--
@ -671,8 +674,11 @@ CREATE TABLE IF NOT EXISTS `hotkey` (
--
CREATE TABLE IF NOT EXISTS `interlog` (
`id` INT NOT NULL AUTO_INCREMENT,
`time` datetime NOT NULL,
`log` varchar(255) NOT NULL default ''
`log` varchar(255) NOT NULL default '',
PRIMARY KEY (`id`),
INDEX `time` (`time`)
) ENGINE=MyISAM;
--
@ -735,7 +741,7 @@ CREATE TABLE IF NOT EXISTS `ipbanlist` (
`btime` datetime NOT NULL,
`rtime` datetime NOT NULL,
`reason` varchar(255) NOT NULL default '',
KEY (`list`)
PRIMARY KEY (`list`, `btime`)
) ENGINE=MyISAM;
--
@ -919,8 +925,7 @@ CREATE TABLE IF NOT EXISTS `sc_data` (
`val2` int(11) NOT NULL default '0',
`val3` int(11) NOT NULL default '0',
`val4` int(11) NOT NULL default '0',
KEY (`account_id`),
KEY (`char_id`)
PRIMARY KEY (`char_id`, `type`)
) ENGINE=MyISAM;
--
@ -932,8 +937,7 @@ CREATE TABLE IF NOT EXISTS `skillcooldown` (
`char_id` int(11) unsigned NOT NULL,
`skill` smallint(11) unsigned NOT NULL DEFAULT '0',
`tick` bigint(20) NOT NULL,
KEY `account_id` (`account_id`),
KEY `char_id` (`char_id`)
PRIMARY KEY (`char_id`, `skill`)
) ENGINE=MyISAM;
--
@ -1009,16 +1013,6 @@ CREATE TABLE IF NOT EXISTS `skill_homunculus` (
PRIMARY KEY (`homun_id`,`id`)
) ENGINE=MyISAM;
--
-- Table structure for table `sstatus`
--
CREATE TABLE IF NOT EXISTS `sstatus` (
`index` tinyint(4) unsigned NOT NULL default '0',
`name` varchar(255) NOT NULL default '',
`user` int(11) unsigned NOT NULL default '0'
) ENGINE=MyISAM;
--
-- Table structure for table `storage`
--
@ -1067,7 +1061,8 @@ CREATE TABLE IF NOT EXISTS `vending_items` (
`index` smallint(5) unsigned NOT NULL,
`cartinventory_id` int(10) unsigned NOT NULL,
`amount` smallint(5) unsigned NOT NULL,
`price` int(10) unsigned NOT NULL
`price` int(10) unsigned NOT NULL,
PRIMARY KEY (`vending_id`, `index`)
) ENGINE=MyISAM;
--

View File

@ -2,12 +2,30 @@
-- rAthena Database Converter ( MyISAM -> InnoDB )
--
ALTER TABLE `acc_reg_num` ENGINE = InnoDB;
ALTER TABLE `acc_reg_str` ENGINE = InnoDB;
ALTER TABLE `achievement` ENGINE = InnoDB;
#ALTER TABLE `atcommandlog` ENGINE = InnoDB;
ALTER TABLE `auction` ENGINE = InnoDB;
ALTER TABLE `bonus_script` ENGINE = InnoDB;
#ALTER TABLE `branchlog` ENGINE = InnoDB;
ALTER TABLE `buyingstore_items` ENGINE = InnoDB;
ALTER TABLE `buyingstores` ENGINE = InnoDB;
ALTER TABLE `cart_inventory` ENGINE = InnoDB;
#ALTER TABLE `cashlog` ENGINE = InnoDB;
ALTER TABLE `char` ENGINE = InnoDB;
ALTER TABLE `char_reg_num` ENGINE = InnoDB;
ALTER TABLE `char_reg_str` ENGINE = InnoDB;
ALTER TABLE `charlog` ENGINE = InnoDB;
#ALTER TABLE `chatlog` ENGINE = InnoDB;
ALTER TABLE `clan` ENGINE = InnoDB;
ALTER TABLE `clan_alliance` ENGINE = InnoDB;
#ALTER TABLE `db_roulette` ENGINE = InnoDB;
ALTER TABLE `elemental` ENGINE = InnoDB;
#ALTER TABLE `feedinglog` ENGINE = InnoDB;
ALTER TABLE `friends` ENGINE = InnoDB;
ALTER TABLE `global_reg_value` ENGINE = InnoDB;
ALTER TABLE `global_acc_reg_num` ENGINE = InnoDB;
ALTER TABLE `global_acc_reg_str` ENGINE = InnoDB;
ALTER TABLE `guild` ENGINE = InnoDB;
ALTER TABLE `guild_alliance` ENGINE = InnoDB;
ALTER TABLE `guild_castle` ENGINE = InnoDB;
@ -16,27 +34,48 @@ ALTER TABLE `guild_member` ENGINE = InnoDB;
ALTER TABLE `guild_position` ENGINE = InnoDB;
ALTER TABLE `guild_skill` ENGINE = InnoDB;
ALTER TABLE `guild_storage` ENGINE = InnoDB;
ALTER TABLE `guild_storage_log` ENGINE = InnoDB;
ALTER TABLE `homunculus` ENGINE = InnoDB;
ALTER TABLE `hotkey` ENGINE = InnoDB;
ALTER TABLE `interlog` ENGINE = InnoDB;
ALTER TABLE `interreg` ENGINE = InnoDB;
ALTER TABLE `inventory` ENGINE = InnoDB;
ALTER TABLE `ipbanlist` ENGINE = InnoDB;
#ALTER TABLE `item_cash_db` ENGINE = InnoDB;
#ALTER TABLE `item_cash_db2` ENGINE = InnoDB;
#ALTER TABLE `item_db` ENGINE = InnoDB;
#ALTER TABLE `item_db_re` ENGINE = InnoDB;
#ALTER TABLE `item_db2` ENGINE = InnoDB;
#ALTER TABLE `item_db2_re` ENGINE = InnoDB;
ALTER TABLE `login` ENGINE = InnoDB;
#ALTER TABLE `loginlog` ENGINE = InnoDB;
ALTER TABLE `mail` ENGINE = InnoDB;
ALTER TABLE `mail_attachments` ENGINE = InnoDB;
ALTER TABLE `mapreg` ENGINE = InnoDB;
ALTER TABLE `market` ENGINE = InnoDB;
ALTER TABLE `memo` ENGINE = InnoDB;
ALTER TABLE `mercenary` ENGINE = InnoDB;
ALTER TABLE `mercenary_owner` ENGINE = InnoDB;
#ALTER TABLE `mob_db` ENGINE = InnoDB;
#ALTER TABLE `mob_db_re` ENGINE = InnoDB;
#ALTER TABLE `mob_db2` ENGINE = InnoDB;
#ALTER TABLE `mob_db2_re` ENGINE = InnoDB;
#ALTER TABLE `mob_skill_db` ENGINE = InnoDB;
#ALTER TABLE `mob_skill_db_re` ENGINE = InnoDB;
#ALTER TABLE `mob_skill_db2` ENGINE = InnoDB;
#ALTER TABLE `mob_skill_db2_re` ENGINE = InnoDB;
#ALTER TABLE `mvplog` ENGINE = InnoDB;
#ALTER TABLE `npclog` ENGINE = InnoDB;
ALTER TABLE `party` ENGINE = InnoDB;
ALTER TABLE `pet` ENGINE = InnoDB;
#ALTER TABLE `picklog` ENGINE = InnoDB;
ALTER TABLE `quest` ENGINE = InnoDB;
ALTER TABLE `ragsrvinfo` ENGINE = InnoDB;
ALTER TABLE `sales` ENGINE = InnoDB;
ALTER TABLE `sc_data` ENGINE = InnoDB;
ALTER TABLE `skill` ENGINE = InnoDB;
ALTER TABLE `skill_homunculus` ENGINE = InnoDB;
ALTER TABLE `sstatus` ENGINE = InnoDB;
ALTER TABLE `skillcooldown` ENGINE = InnoDB;
ALTER TABLE `storage` ENGINE = InnoDB;
ALTER TABLE `vending_items` ENGINE = InnoDB;
ALTER TABLE `vendings` ENGINE = InnoDB;
#ALTER TABLE `zenylog` ENGINE = InnoDB;

View File

@ -2,12 +2,30 @@
-- rAthena Database Converter ( InnoDB -> MyISAM )
--
ALTER TABLE `acc_reg_num` ENGINE = MyISAM;
ALTER TABLE `acc_reg_str` ENGINE = MyISAM;
ALTER TABLE `achievement` ENGINE = MyISAM;
#ALTER TABLE `atcommandlog` ENGINE = MyISAM;
ALTER TABLE `auction` ENGINE = MyISAM;
ALTER TABLE `bonus_script` ENGINE = MyISAM;
#ALTER TABLE `branchlog` ENGINE = MyISAM;
ALTER TABLE `buyingstore_items` ENGINE = MyISAM;
ALTER TABLE `buyingstores` ENGINE = MyISAM;
ALTER TABLE `cart_inventory` ENGINE = MyISAM;
#ALTER TABLE `cashlog` ENGINE = MyISAM;
ALTER TABLE `char` ENGINE = MyISAM;
ALTER TABLE `char_reg_num` ENGINE = MyISAM;
ALTER TABLE `char_reg_str` ENGINE = MyISAM;
ALTER TABLE `charlog` ENGINE = MyISAM;
#ALTER TABLE `chatlog` ENGINE = MyISAM;
ALTER TABLE `clan` ENGINE = MyISAM;
ALTER TABLE `clan_alliance` ENGINE = MyISAM;
#ALTER TABLE `db_roulette` ENGINE = MyISAM;
ALTER TABLE `elemental` ENGINE = MyISAM;
#ALTER TABLE `feedinglog` ENGINE = MyISAM;
ALTER TABLE `friends` ENGINE = MyISAM;
ALTER TABLE `global_reg_value` ENGINE = MyISAM;
ALTER TABLE `global_acc_reg_num` ENGINE = MyISAM;
ALTER TABLE `global_acc_reg_str` ENGINE = MyISAM;
ALTER TABLE `guild` ENGINE = MyISAM;
ALTER TABLE `guild_alliance` ENGINE = MyISAM;
ALTER TABLE `guild_castle` ENGINE = MyISAM;
@ -16,27 +34,48 @@ ALTER TABLE `guild_member` ENGINE = MyISAM;
ALTER TABLE `guild_position` ENGINE = MyISAM;
ALTER TABLE `guild_skill` ENGINE = MyISAM;
ALTER TABLE `guild_storage` ENGINE = MyISAM;
ALTER TABLE `guild_storage_log` ENGINE = MyISAM;
ALTER TABLE `homunculus` ENGINE = MyISAM;
ALTER TABLE `hotkey` ENGINE = MyISAM;
ALTER TABLE `interlog` ENGINE = MyISAM;
ALTER TABLE `interreg` ENGINE = MyISAM;
ALTER TABLE `inventory` ENGINE = MyISAM;
ALTER TABLE `ipbanlist` ENGINE = MyISAM;
#ALTER TABLE `item_cash_db` ENGINE = MyISAM;
#ALTER TABLE `item_cash_db2` ENGINE = MyISAM;
#ALTER TABLE `item_db` ENGINE = MyISAM;
#ALTER TABLE `item_db_re` ENGINE = MyISAM;
#ALTER TABLE `item_db2` ENGINE = MyISAM;
#ALTER TABLE `item_db2_re` ENGINE = MyISAM;
ALTER TABLE `login` ENGINE = MyISAM;
#ALTER TABLE `loginlog` ENGINE = MyISAM;
ALTER TABLE `mail` ENGINE = MyISAM;
ALTER TABLE `mail_attachments` ENGINE = MyISAM;
ALTER TABLE `mapreg` ENGINE = MyISAM;
ALTER TABLE `market` ENGINE = MyISAM;
ALTER TABLE `memo` ENGINE = MyISAM;
ALTER TABLE `mercenary` ENGINE = MyISAM;
ALTER TABLE `mercenary_owner` ENGINE = MyISAM;
#ALTER TABLE `mob_db` ENGINE = MyISAM;
#ALTER TABLE `mob_db_re` ENGINE = MyISAM;
#ALTER TABLE `mob_db2` ENGINE = MyISAM;
#ALTER TABLE `mob_db2_re` ENGINE = MyISAM;
#ALTER TABLE `mob_skill_db` ENGINE = MyISAM;
#ALTER TABLE `mob_skill_db_re` ENGINE = MyISAM;
#ALTER TABLE `mob_skill_db2` ENGINE = MyISAM;
#ALTER TABLE `mob_skill_db2_re` ENGINE = MyISAM;
#ALTER TABLE `mvplog` ENGINE = MyISAM;
#ALTER TABLE `npclog` ENGINE = MyISAM;
ALTER TABLE `party` ENGINE = MyISAM;
ALTER TABLE `pet` ENGINE = MyISAM;
#ALTER TABLE `picklog` ENGINE = MyISAM;
ALTER TABLE `quest` ENGINE = MyISAM;
ALTER TABLE `ragsrvinfo` ENGINE = MyISAM;
ALTER TABLE `sales` ENGINE = MyISAM;
ALTER TABLE `sc_data` ENGINE = MyISAM;
ALTER TABLE `skill` ENGINE = MyISAM;
ALTER TABLE `skill_homunculus` ENGINE = MyISAM;
ALTER TABLE `sstatus` ENGINE = MyISAM;
ALTER TABLE `skillcooldown` ENGINE = MyISAM;
ALTER TABLE `storage` ENGINE = MyISAM;
ALTER TABLE `vending_items` ENGINE = MyISAM;
ALTER TABLE `vendings` ENGINE = MyISAM;
#ALTER TABLE `zenylog` ENGINE = MyISAM;

View File

@ -0,0 +1,36 @@
ALTER TABLE `bonus_script`
ADD PRIMARY KEY (`char_id`, `type`);
ALTER TABLE `buyingstore_items`
ADD PRIMARY KEY (`buyingstore_id`, `index`);
ALTER TABLE `charlog`
ADD PRIMARY KEY (`time`, `account_id`, `char_num`);
ALTER TABLE `friends`
DROP INDEX `char_id`,
ADD PRIMARY KEY (`char_id`, `friend_id`);
ALTER TABLE `interlog`
ADD COLUMN `id` INT NOT NULL AUTO_INCREMENT FIRST,
ADD PRIMARY KEY (`id`),
ADD INDEX `time` (`time`);
ALTER TABLE `ipbanlist`
DROP INDEX `list`,
ADD PRIMARY KEY (`list`, `btime`);
ALTER TABLE `sc_data`
DROP INDEX `account_id`,
DROP INDEX `char_id`,
ADD PRIMARY KEY (`char_id`, `type`);
ALTER TABLE `skillcooldown`
DROP INDEX `account_id`,
DROP INDEX `char_id`,
ADD PRIMARY KEY (`char_id`, `skill`);
ALTER TABLE `vending_items`
ADD PRIMARY KEY (`vending_id`, `index`);
DROP TABLE `sstatus`;