summaryrefslogtreecommitdiff
path: root/src/sql/mysql
diff options
context:
space:
mode:
Diffstat (limited to 'src/sql/mysql')
-rw-r--r--src/sql/mysql/createTables.sql24
-rw-r--r--src/sql/mysql/updates/update_14_to_15.sql22
-rw-r--r--src/sql/mysql/updates/update_16_to_17.sql19
3 files changed, 61 insertions, 4 deletions
diff --git a/src/sql/mysql/createTables.sql b/src/sql/mysql/createTables.sql
index 3a5f5187..b75fc0ed 100644
--- a/src/sql/mysql/createTables.sql
+++ b/src/sql/mysql/createTables.sql
@@ -179,16 +179,32 @@ DEFAULT CHARSET=utf8
AUTO_INCREMENT=1 ;
--
+-- table: `mana_floor_items`
+--
+CREATE TABLE IF NOT EXISTS `mana_floor_items` (
+ `id` int(10) unsigned NOT NULL auto_increment,
+ `map_id` int(10) unsigned NOT NULL,
+ `item_id` int(10) unsigned NOT NULL,
+ `amount` smallint(5) unsigned NOT NULL,
+ `pos_x` smallint(5) unsigned NOT NULL,
+ `pos_y` smallint(5) unsigned NOT NULL,
+ --
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB
+DEFAULT CHARSET=utf8
+AUTO_INCREMENT=1 ;
+
+--
-- table: `mana_char_equips`
--
CREATE TABLE IF NOT EXISTS `mana_char_equips` (
`id` int(10) unsigned NOT NULL auto_increment,
`owner_id` int(10) unsigned NOT NULL,
- `slot_type` tinyint(3) unsigned NOT NULL,
- `inventory_slot` tinyint(3) unsigned NOT NULL,
+ `slot_type` int(10) unsigned NOT NULL,
+ `item_id` int(10) unsigned NOT NULL,
+ `item_instance` int(10) unsigned NOT NULL,
--
PRIMARY KEY (`id`),
- UNIQUE KEY `owner_id` (`owner_id`, `inventory_slot`),
FOREIGN KEY (`owner_id`) REFERENCES `mana_characters` (`id`)
) ENGINE=InnoDB
DEFAULT CHARSET=utf8;
@@ -421,7 +437,7 @@ AUTO_INCREMENT=0 ;
INSERT INTO mana_world_states VALUES('accountserver_startup',NULL,NULL, NOW());
INSERT INTO mana_world_states VALUES('accountserver_version',NULL,NULL, NOW());
-INSERT INTO mana_world_states VALUES('database_version', NULL,'14', NOW());
+INSERT INTO mana_world_states VALUES('database_version', NULL,'17', NOW());
-- all known transaction codes
diff --git a/src/sql/mysql/updates/update_14_to_15.sql b/src/sql/mysql/updates/update_14_to_15.sql
new file mode 100644
index 00000000..1036817b
--- /dev/null
+++ b/src/sql/mysql/updates/update_14_to_15.sql
@@ -0,0 +1,22 @@
+
+-- Dropping the table will only unequip characters, so it's not an issue.
+DROP TABLE mana_char_equips;
+
+-- Recreate the table using the latest definition.
+CREATE TABLE IF NOT EXISTS `mana_char_equips` (
+ `id` int(10) unsigned NOT NULL auto_increment,
+ `owner_id` int(10) unsigned NOT NULL,
+ `slot_type` int(10) unsigned NOT NULL,
+ `item_id` int(10) unsigned NOT NULL,
+ `item_instance` int(10) unsigned NOT NULL,
+ --
+ PRIMARY KEY (`id`),
+ FOREIGN KEY (`owner_id`) REFERENCES `mana_characters` (`id`)
+) ENGINE=InnoDB
+DEFAULT CHARSET=utf8;
+
+-- Update database version.
+UPDATE mana_world_states
+SET value = '15',
+moddate = UNIX_TIMESTAMP()
+WHERE state_name = 'database_version';
diff --git a/src/sql/mysql/updates/update_16_to_17.sql b/src/sql/mysql/updates/update_16_to_17.sql
new file mode 100644
index 00000000..008983aa
--- /dev/null
+++ b/src/sql/mysql/updates/update_16_to_17.sql
@@ -0,0 +1,19 @@
+-- Create the new floor item table
+CREATE TABLE IF NOT EXISTS `mana_floor_items` (
+ `id` int(10) unsigned NOT NULL auto_increment,
+ `map_id` int(10) unsigned NOT NULL,
+ `item_id` int(10) unsigned NOT NULL,
+ `amount` smallint(5) unsigned NOT NULL,
+ `pos_x` smallint(5) unsigned NOT NULL,
+ `pos_y` smallint(5) unsigned NOT NULL,
+ --
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB
+DEFAULT CHARSET=utf8
+AUTO_INCREMENT=1 ;
+
+-- Update database version.
+UPDATE mana_world_states
+SET value = '17',
+moddate = UNIX_TIMESTAMP()
+WHERE state_name = 'database_version';