Selaa lähdekoodia

Merge pull request #880 from rathena/cleanup/itemdb_aegisname

Added unique indices to ensure that aegis name is only used once per table.
Also added all scripts from sql-files to the travis CI script so that our build check will fail if we have a sql syntax error in there or some duplicate values.
Lemongrass3110 9 vuotta sitten
vanhempi
commit
315056b02e

+ 15 - 0
.travis.yml

@@ -8,6 +8,21 @@ before_script:
   - mysql -u $DB_ROOT -e "CREATE DATABASE $DB_NAME;" || aborterror "Unable to create database."
   - mysql -u $DB_ROOT $DB_NAME < sql-files/main.sql || aborterror "Unable to import main database."
   - mysql -u $DB_ROOT $DB_NAME < sql-files/logs.sql || aborterror "Unable to import logs database."
+  - mysql -u $DB_ROOT $DB_NAME < sql-files/item_cash_db.sql || aborterror "Unable to import cash item table."
+  - mysql -u $DB_ROOT $DB_NAME < sql-files/item_cash_db2.sql || aborterror "Unable to import cash item 2 table."
+  - mysql -u $DB_ROOT $DB_NAME < sql-files/item_db.sql || aborterror "Unable to import pre-renewal item table."
+  - mysql -u $DB_ROOT $DB_NAME < sql-files/item_db2.sql || aborterror "Unable to import pre-renewal item 2 table."
+  - mysql -u $DB_ROOT $DB_NAME < sql-files/item_db_re.sql || aborterror "Unable to import renewal item table."
+  - mysql -u $DB_ROOT $DB_NAME < sql-files/item_db2_re.sql || aborterror "Unable to import renewal item 2 table."
+  - mysql -u $DB_ROOT $DB_NAME < sql-files/mob_db.sql || aborterror "Unable to import pre-renewal monster table."
+  - mysql -u $DB_ROOT $DB_NAME < sql-files/mob_db2.sql || aborterror "Unable to import pre-renewal monster 2 table."
+  - mysql -u $DB_ROOT $DB_NAME < sql-files/mob_db_re.sql || aborterror "Unable to import renewal monster table."
+  - mysql -u $DB_ROOT $DB_NAME < sql-files/mob_db2_re.sql || aborterror "Unable to import renewal monster 2 table."
+  - mysql -u $DB_ROOT $DB_NAME < sql-files/mob_skill_db.sql || aborterror "Unable to import pre-renewal monster skill table."
+  - mysql -u $DB_ROOT $DB_NAME < sql-files/mob_skill_db2.sql || aborterror "Unable to import pre-renewal monster skill 2 table."
+  - mysql -u $DB_ROOT $DB_NAME < sql-files/mob_skill_db_re.sql || aborterror "Unable to import renewal monster skill table."
+  - mysql -u $DB_ROOT $DB_NAME < sql-files/mob_skill_db2_re.sql || aborterror "Unable to import renewal monster skill 2 table."
+  - mysql -u $DB_ROOT $DB_NAME < sql-files/roulette_default_data.sql || aborterror "Unable to import roulette table."
   - mysql -u $DB_ROOT -e "GRANT ALL ON *.* TO '$DB_USER'@'$DB_HOST' IDENTIFIED BY '$DB_PASS';"
 
 script:

+ 2 - 1
sql-files/item_db.sql

@@ -26,7 +26,8 @@ CREATE TABLE `item_db` (
   `script` text,
   `equip_script` text,
   `unequip_script` text,
-  PRIMARY KEY (`id`)
+  PRIMARY KEY (`id`),
+  UNIQUE INDEX `UniqueAegisName` (`name_english`)
 ) ENGINE=MyISAM;
 
 # Items Database

+ 2 - 1
sql-files/item_db2.sql

@@ -26,7 +26,8 @@ CREATE TABLE `item_db2` (
   `script` text,
   `equip_script` text,
   `unequip_script` text,
-  PRIMARY KEY (`id`)
+  PRIMARY KEY (`id`),
+  UNIQUE INDEX `UniqueAegisName` (`name_english`)
 ) ENGINE=MyISAM;
 
 # Items Additional Database

+ 2 - 1
sql-files/item_db2_re.sql

@@ -26,7 +26,8 @@ CREATE TABLE `item_db2_re` (
   `script` text,
   `equip_script` text,
   `unequip_script` text,
-  PRIMARY KEY (`id`)
+  PRIMARY KEY (`id`),
+  UNIQUE INDEX `UniqueAegisName` (`name_english`)
 ) ENGINE=MyISAM;
 
 # Items Additional Database

+ 2 - 1
sql-files/item_db_re.sql

@@ -26,7 +26,8 @@ CREATE TABLE `item_db_re` (
   `script` text,
   `equip_script` text,
   `unequip_script` text,
-  PRIMARY KEY (`id`)
+  PRIMARY KEY (`id`),
+  UNIQUE INDEX `UniqueAegisName` (`name_english`)
 ) ENGINE=MyISAM;
 
 # Items Database

+ 13 - 0
sql-files/upgrades/upgrade_20160106.sql

@@ -0,0 +1,13 @@
+-- Please only run those, that you need
+
+ALTER TABLE `item_db`
+	ADD UNIQUE INDEX `UniqueAegisName` (`name_english`) ;
+
+ALTER TABLE `item_db2`
+	ADD UNIQUE INDEX `UniqueAegisName` (`name_english`) ;
+
+ALTER TABLE `item_db_re`
+	ADD UNIQUE INDEX `UniqueAegisName` (`name_english`) ;
+
+ALTER TABLE `item_db2_re`
+	ADD UNIQUE INDEX `UniqueAegisName` (`name_english`) ;