From d80e111e5faaa887e3031f12ffcfdbd8f28209ea Mon Sep 17 00:00:00 2001 From: Lemongrass3110 Date: Mon, 8 Jul 2019 23:17:42 +0200 Subject: [PATCH] Made mob sprite column unique (#4239) Make the Sprite column for the SQL monster databases unique. Fixes #4223. Thanks to @Indigo000! --- sql-files/mob_db.sql | 5 +++-- sql-files/mob_db2.sql | 5 +++-- sql-files/mob_db2_re.sql | 5 +++-- sql-files/mob_db_re.sql | 5 +++-- sql-files/upgrades/upgrade_20190628.sql | 19 +++++++++++++++++++ 5 files changed, 31 insertions(+), 8 deletions(-) create mode 100644 sql-files/upgrades/upgrade_20190628.sql diff --git a/sql-files/mob_db.sql b/sql-files/mob_db.sql index df1ec583d7..c10a14c7a3 100644 --- a/sql-files/mob_db.sql +++ b/sql-files/mob_db.sql @@ -5,7 +5,7 @@ DROP TABLE IF EXISTS `mob_db`; CREATE TABLE `mob_db` ( `ID` mediumint(9) unsigned NOT NULL default '0', - `Sprite` text NOT NULL, + `Sprite` varchar(24) NOT NULL, `kName` text NOT NULL, `iName` text NOT NULL, `LV` tinyint(6) unsigned NOT NULL default '0', @@ -61,7 +61,8 @@ CREATE TABLE `mob_db` ( `Drop9per` smallint(9) unsigned NOT NULL default '0', `DropCardid` smallint(5) unsigned NOT NULL default '0', `DropCardper` smallint(9) unsigned NOT NULL default '0', - PRIMARY KEY (`ID`) + PRIMARY KEY (`ID`), + UNIQUE KEY (`Sprite`) ) ENGINE=MyISAM; # Monster Database diff --git a/sql-files/mob_db2.sql b/sql-files/mob_db2.sql index 7b498dc517..bb1179ce5c 100644 --- a/sql-files/mob_db2.sql +++ b/sql-files/mob_db2.sql @@ -5,7 +5,7 @@ DROP TABLE IF EXISTS `mob_db2`; CREATE TABLE `mob_db2` ( `ID` mediumint(9) unsigned NOT NULL default '0', - `Sprite` text NOT NULL, + `Sprite` varchar(24) NOT NULL, `kName` text NOT NULL, `iName` text NOT NULL, `LV` tinyint(6) unsigned NOT NULL default '0', @@ -61,7 +61,8 @@ CREATE TABLE `mob_db2` ( `Drop9per` smallint(9) unsigned NOT NULL default '0', `DropCardid` smallint(5) unsigned NOT NULL default '0', `DropCardper` smallint(9) unsigned NOT NULL default '0', - PRIMARY KEY (`ID`) + PRIMARY KEY (`ID`), + UNIQUE KEY (`Sprite`) ) ENGINE=MyISAM; # Monster Additional Database diff --git a/sql-files/mob_db2_re.sql b/sql-files/mob_db2_re.sql index a5fe826a10..2d3f5edcb0 100644 --- a/sql-files/mob_db2_re.sql +++ b/sql-files/mob_db2_re.sql @@ -5,7 +5,7 @@ DROP TABLE IF EXISTS `mob_db2_re`; CREATE TABLE `mob_db2_re` ( `ID` mediumint(9) unsigned NOT NULL default '0', - `Sprite` text NOT NULL, + `Sprite` varchar(24) NOT NULL, `kName` text NOT NULL, `iName` text NOT NULL, `LV` tinyint(6) unsigned NOT NULL default '0', @@ -61,7 +61,8 @@ CREATE TABLE `mob_db2_re` ( `Drop9per` smallint(9) unsigned NOT NULL default '0', `DropCardid` smallint(5) unsigned NOT NULL default '0', `DropCardper` smallint(9) unsigned NOT NULL default '0', - PRIMARY KEY (`ID`) + PRIMARY KEY (`ID`), + UNIQUE KEY (`Sprite`) ) ENGINE=MyISAM; # Monsters Additional Database diff --git a/sql-files/mob_db_re.sql b/sql-files/mob_db_re.sql index e1c76c8692..7e64dd4653 100644 --- a/sql-files/mob_db_re.sql +++ b/sql-files/mob_db_re.sql @@ -5,7 +5,7 @@ DROP TABLE IF EXISTS `mob_db_re`; CREATE TABLE `mob_db_re` ( `ID` mediumint(9) unsigned NOT NULL default '0', - `Sprite` text NOT NULL, + `Sprite` varchar(24) NOT NULL, `kName` text NOT NULL, `iName` text NOT NULL, `LV` tinyint(6) unsigned NOT NULL default '0', @@ -61,7 +61,8 @@ CREATE TABLE `mob_db_re` ( `Drop9per` smallint(9) unsigned NOT NULL default '0', `DropCardid` smallint(5) unsigned NOT NULL default '0', `DropCardper` smallint(9) unsigned NOT NULL default '0', - PRIMARY KEY (`ID`) + PRIMARY KEY (`ID`), + UNIQUE KEY (`Sprite`) ) ENGINE=MyISAM; # Monster Database diff --git a/sql-files/upgrades/upgrade_20190628.sql b/sql-files/upgrades/upgrade_20190628.sql new file mode 100644 index 0000000000..ad2906c525 --- /dev/null +++ b/sql-files/upgrades/upgrade_20190628.sql @@ -0,0 +1,19 @@ +ALTER TABLE `mob_db` + MODIFY `Sprite` varchar(24) NOT NULL, + ADD UNIQUE KEY (`Sprite`) +; + +ALTER TABLE `mob_db_re` + MODIFY `Sprite` varchar(24) NOT NULL, + ADD UNIQUE KEY (`Sprite`) +; + +ALTER TABLE `mob_db2` + MODIFY `Sprite` varchar(24) NOT NULL, + ADD UNIQUE KEY (`Sprite`) +; + +ALTER TABLE `mob_db2_re` + MODIFY `Sprite` varchar(24) NOT NULL, + ADD UNIQUE KEY (`Sprite`) +;