diff options
-rw-r--r-- | src/account-server/dalstorage.cpp | 2 | ||||
-rw-r--r-- | src/account-server/dalstoragesql.hpp | 5 | ||||
-rw-r--r-- | src/sql/mysql/createTables.sql | 20 | ||||
-rw-r--r-- | src/sql/sqlite/createTables.sql | 15 | ||||
-rw-r--r-- | src/sql/sqlite/updates/update_5_to_6.sql | 20 |
5 files changed, 59 insertions, 3 deletions
diff --git a/src/account-server/dalstorage.cpp b/src/account-server/dalstorage.cpp index 7e27ae50..4628eca5 100644 --- a/src/account-server/dalstorage.cpp +++ b/src/account-server/dalstorage.cpp @@ -41,7 +41,7 @@ // defines the supported db version #define DB_VERSION_PARAMETER "database_version" -#define SUPPORTED_DB_VERSION "5" +#define SUPPORTED_DB_VERSION "6" /** diff --git a/src/account-server/dalstoragesql.hpp b/src/account-server/dalstoragesql.hpp index 1661baa6..cab3aea9 100644 --- a/src/account-server/dalstoragesql.hpp +++ b/src/account-server/dalstoragesql.hpp @@ -76,6 +76,11 @@ static const char *CHARACTERS_TBL_NAME = "tmw_characters"; static const char *CHAR_SKILLS_TBL_NAME = "tmw_char_skills"; /** + * TABLE: tmw_char_status_effects. + */ +static const char *CHAR_STATUS_EFFECTS_TBL_NAME = "tmw_char_status_effects"; + +/** * TABLE: tmw_inventories. */ static const char *INVENTORIES_TBL_NAME("tmw_inventories"); diff --git a/src/sql/mysql/createTables.sql b/src/sql/mysql/createTables.sql index 306e7c0a..9d6a7385 100644 --- a/src/sql/mysql/createTables.sql +++ b/src/sql/mysql/createTables.sql @@ -73,6 +73,24 @@ CREATE TABLE IF NOT EXISTS `tmw_char_skills` ( DEFAULT CHARSET=utf8; -- +-- table: `tmw_char_status_effects` +-- +CREATE TABLE IF NOT EXISTS `tmw_char_status_effects` ( + `char_id` int(10) unsigned NOT NULL, + `status_id` smallint(5) unsigned NOT NULL, + `status_time` int(10) signed NOT NULL, + -- + PRIMARY KEY (`char_id`, `status_id`), + FOREIGN KEY (`char_id`) + REFERENCES `tmw_characters` (`id`) + ON DELETE CASCADE +) ENGING=InnoDB +DEFAULT CHARSET=utf8; + + + + +-- -- table: `tmw_items` -- CREATE TABLE IF NOT EXISTS `tmw_items` ( @@ -344,4 +362,4 @@ CREATE TABLE IF NOT EXISTS `tmw_transactions` ( `time` int(11) NOT NULL, PRIMARY KEY (`id`) ) -AUTO_INCREMENT=0 ;
\ No newline at end of file +AUTO_INCREMENT=0 ; diff --git a/src/sql/sqlite/createTables.sql b/src/sql/sqlite/createTables.sql index 5cd439d2..d71858fa 100644 --- a/src/sql/sqlite/createTables.sql +++ b/src/sql/sqlite/createTables.sql @@ -84,6 +84,19 @@ CREATE INDEX tmw_char_skills_char ON tmw_char_skills ( char_id ); ----------------------------------------------------------------------------- +CREATE TABLE tmw_char_status_effects +( + char_id INTEGER NOT NULL, + status_id INTEGER NOT NULL, + status_time INTEGER NOT NULL, + -- + FOREIGN KEY (char_id) REFERENCES tmw_characters(id) +); + +CREATE INDEX tmw_char_status_char on tmw_char_status_effects ( char_id ); + +----------------------------------------------------------------------------- + CREATE TABLE tmw_items ( id INTEGER PRIMARY KEY, @@ -348,7 +361,7 @@ AS INSERT INTO tmw_world_states VALUES('accountserver_startup',NULL,NULL, strftime('%s','now')); INSERT INTO tmw_world_states VALUES('accountserver_version',NULL,NULL, strftime('%s','now')); -INSERT INTO tmw_world_states VALUES('database_version', NULL,'5', strftime('%s','now')); +INSERT INTO tmw_world_states VALUES('database_version', NULL,'6', strftime('%s','now')); -- all known transaction codes diff --git a/src/sql/sqlite/updates/update_5_to_6.sql b/src/sql/sqlite/updates/update_5_to_6.sql new file mode 100644 index 00000000..8a1e552c --- /dev/null +++ b/src/sql/sqlite/updates/update_5_to_6.sql @@ -0,0 +1,20 @@ + +-- create table tmw_char_status_effects + +CREATE TABLE tmw_char_status_effects +( + char_id INTEGER NOT NULL, + status_id INTEGER NOT NULL, + status_time INTEGER NOT NULL, + -- + FOREIGN KEY (char_id) REFERENCES tmw_characters(id) +); + +CREATE INDEX tmw_char_status_char on tmw_char_status_effects ( char_id ); + +-- update the database version, and set date of update +UPDATE tmw_world_states + SET value = '6', + moddate = strftime('%s','now') + WHERE state_name = 'database_version'; + |