summaryrefslogtreecommitdiff
path: root/sql-files
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
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')
-rw-r--r--sql-files/item_db.sql1
-rw-r--r--sql-files/item_db2.sql1
-rw-r--r--sql-files/item_db_re.sql1
-rw-r--r--sql-files/main.sql1
-rw-r--r--sql-files/upgrades/2015-07-02--18-14.sql56
-rw-r--r--sql-files/upgrades/index.txt3
6 files changed, 62 insertions, 1 deletions
diff --git a/sql-files/item_db.sql b/sql-files/item_db.sql
index c4f21d41a..8ffb0f51a 100644
--- a/sql-files/item_db.sql
+++ b/sql-files/item_db.sql
@@ -31,6 +31,7 @@ CREATE TABLE `item_db` (
`refineable` tinyint(1) UNSIGNED DEFAULT NULL,
`view` smallint(3) UNSIGNED DEFAULT NULL,
`bindonequip` tinyint(1) UNSIGNED DEFAULT NULL,
+ `forceserial` tinyint(1) unsigned DEFAULT NULL,
`buyingstore` tinyint(1) UNSIGNED DEFAULT NULL,
`delay` mediumint(9) UNSIGNED DEFAULT NULL,
`trade_flag` smallint(4) UNSIGNED DEFAULT NULL,
diff --git a/sql-files/item_db2.sql b/sql-files/item_db2.sql
index 05a8121e6..b72c60a85 100644
--- a/sql-files/item_db2.sql
+++ b/sql-files/item_db2.sql
@@ -31,6 +31,7 @@ CREATE TABLE `item_db2` (
`refineable` tinyint(1) UNSIGNED DEFAULT NULL,
`view` smallint(3) UNSIGNED DEFAULT NULL,
`bindonequip` tinyint(1) UNSIGNED DEFAULT NULL,
+ `forceserial` tinyint(1) unsigned DEFAULT NULL,
`buyingstore` tinyint(1) UNSIGNED DEFAULT NULL,
`delay` mediumint(9) UNSIGNED DEFAULT NULL,
`trade_flag` smallint(4) UNSIGNED DEFAULT NULL,
diff --git a/sql-files/item_db_re.sql b/sql-files/item_db_re.sql
index 3e5a6c3c4..d06d06ddc 100644
--- a/sql-files/item_db_re.sql
+++ b/sql-files/item_db_re.sql
@@ -31,6 +31,7 @@ CREATE TABLE `item_db` (
`refineable` tinyint(1) UNSIGNED DEFAULT NULL,
`view` smallint(3) UNSIGNED DEFAULT NULL,
`bindonequip` tinyint(1) UNSIGNED DEFAULT NULL,
+ `forceserial` tinyint(1) unsigned DEFAULT NULL,
`buyingstore` tinyint(1) UNSIGNED DEFAULT NULL,
`delay` mediumint(9) UNSIGNED DEFAULT NULL,
`trade_flag` smallint(4) UNSIGNED DEFAULT NULL,
diff --git a/sql-files/main.sql b/sql-files/main.sql
index a00a3319b..646805d1b 100644
--- a/sql-files/main.sql
+++ b/sql-files/main.sql
@@ -808,6 +808,7 @@ INSERT INTO `sql_updates` (`timestamp`) VALUES (1398477600); -- 2014-04-26--10-0
INSERT INTO `sql_updates` (`timestamp`) VALUES (1400256139); -- 2014-05-17--00-06.sql
INSERT INTO `sql_updates` (`timestamp`) VALUES (1409590380); -- 2014-09-01--16-53.sql
INSERT INTO `sql_updates` (`timestamp`) VALUES (1414975503); -- 2014-11-03--00-45.sql
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1435860840); -- 2015-07-02--18-14.sql
--
-- Table structure for table `sstatus`
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