summaryrefslogtreecommitdiff
path: root/sql-files/upgrades
diff options
context:
space:
mode:
authorIbrahim Hossam <ibrahem.h.basyone@gmail.com>2015-07-06 21:38:11 +0200
committerIbrahim Hossam <ibrahem.h.basyone@gmail.com>2015-07-08 03:26:34 +0200
commit856b6f1feb25ca74d716a4c22fff650e0ff065a0 (patch)
treec3035ea753ff2c79c1e969056a120998e4f2dd2c /sql-files/upgrades
parent0177783215ae97d08109f7af91a20b78b6a0df90 (diff)
downloadhercules-856b6f1feb25ca74d716a4c22fff650e0ff065a0.tar.gz
hercules-856b6f1feb25ca74d716a4c22fff650e0ff065a0.tar.bz2
hercules-856b6f1feb25ca74d716a4c22fff650e0ff065a0.tar.xz
hercules-856b6f1feb25ca74d716a4c22fff650e0ff065a0.zip
Update Unique ID system to match official now it cover all cash items include stackable ones.
Implement ForceSerial option in Package Item Database to force serial for any item. Implement ForceSerial option in item database to force serial for any item. Implement Merge Client interface to merge stackable items with serial numbers ( check npc/other/item_merge.txt ).
Diffstat (limited to 'sql-files/upgrades')
-rw-r--r--sql-files/upgrades/2015-07-02--18-14.sql56
-rw-r--r--sql-files/upgrades/index.txt3
2 files changed, 58 insertions, 1 deletions
diff --git a/sql-files/upgrades/2015-07-02--18-14.sql b/sql-files/upgrades/2015-07-02--18-14.sql
new file mode 100644
index 000000000..49094a5df
--- /dev/null
+++ b/sql-files/upgrades/2015-07-02--18-14.sql
@@ -0,0 +1,56 @@
+#1435860840
+
+DELIMITER $$
+
+DROP PROCEDURE IF EXISTS alter_if_not_exists $$
+DROP PROCEDURE IF EXISTS alter_if_exists $$
+
+CREATE PROCEDURE alter_if_not_exists(my_table TINYTEXT, my_column TINYTEXT, my_command TINYTEXT, my_predicate TEXT)
+BEGIN
+ set @dbname = DATABASE();
+ IF EXISTS (
+ SELECT * FROM information_schema.TABLES
+ WHERE TABLE_SCHEMA = @dbname
+ AND TABLE_NAME = my_table
+ ) AND NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS
+ WHERE TABLE_SCHEMA = @dbname
+ AND TABLE_NAME = my_table
+ AND COLUMN_NAME = my_column
+ )
+ THEN
+ SET @q = CONCAT('ALTER TABLE ', @dbname, '.', my_table, ' ',
+ my_command, ' `', my_column, '` ', my_predicate);
+ PREPARE STMT FROM @q;
+ EXECUTE STMT;
+ END IF;
+
+END $$
+
+CREATE PROCEDURE alter_if_exists(my_table TINYTEXT, my_column TINYTEXT, my_command TINYTEXT, my_predicate TEXT)
+BEGIN
+ set @dbname = DATABASE();
+ IF EXISTS (
+ SELECT * FROM information_schema.COLUMNS
+ WHERE TABLE_SCHEMA = @dbname
+ AND TABLE_NAME = my_table
+ AND COLUMN_NAME = my_column
+ )
+ THEN
+ SET @q = CONCAT('ALTER TABLE ', @dbname, '.', my_table, ' ',
+ my_command, ' `', my_column, '` ', my_predicate);
+ PREPARE STMT FROM @q;
+ EXECUTE STMT;
+ END IF;
+
+END $$
+
+CALL alter_if_not_exists('item_db', 'forceserial', 'ADD COLUMN', 'TINYINT(1) UNSIGNED DEFAULT NULL AFTER `bindonequip`') $$
+CALL alter_if_not_exists('item_db2', 'forceserial', 'ADD COLUMN', 'TINYINT(1) UNSIGNED DEFAULT NULL AFTER `bindonequip`') $$
+
+DROP PROCEDURE IF EXISTS alter_if_not_exists $$
+DROP PROCEDURE IF EXISTS alter_if_exists $$
+
+DELIMITER ';'
+
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1435860840);
diff --git a/sql-files/upgrades/index.txt b/sql-files/upgrades/index.txt
index 13495c82d..0e6917f16 100644
--- a/sql-files/upgrades/index.txt
+++ b/sql-files/upgrades/index.txt
@@ -24,4 +24,5 @@
2014-04-26--10-00.sql
2014-05-17--00-06.sql
2014-09-01--16-53.sql
-2014-11-03--00-45.sql \ No newline at end of file
+2014-11-03--00-45.sql
+2015-07-02--18-14.sql \ No newline at end of file