summaryrefslogtreecommitdiff
path: root/src/sql/sqlite
diff options
context:
space:
mode:
authorAndreas Habel <mail@exceptionfault.de>2008-12-01 18:27:14 +0100
committerAndreas Habel <mail@exceptionfault.de>2008-12-01 18:27:14 +0100
commitb3d6d3889390843374fe0b9184dd77c5fcb84e8b (patch)
tree1601f16d933b8c77b2021b44d659de5a23fd8f3f /src/sql/sqlite
parent82b412fa1d77c50689327d949029ff7f5d45fb6b (diff)
downloadmanaserv-b3d6d3889390843374fe0b9184dd77c5fcb84e8b.tar.gz
manaserv-b3d6d3889390843374fe0b9184dd77c5fcb84e8b.tar.bz2
manaserv-b3d6d3889390843374fe0b9184dd77c5fcb84e8b.tar.xz
manaserv-b3d6d3889390843374fe0b9184dd77c5fcb84e8b.zip
Added new table to store online users. See mantis #553
This upgrade will be the first, we provide database installation scripts and update scripts to upgrade from the previous version. For more details about database upgrades see http://wiki.themanaworld.org/index.php/Upgrade_Database and feel free to comment.
Diffstat (limited to 'src/sql/sqlite')
-rw-r--r--src/sql/sqlite/createTables.sql30
-rw-r--r--src/sql/sqlite/updates/update_1_to_2.sql30
2 files changed, 54 insertions, 6 deletions
diff --git a/src/sql/sqlite/createTables.sql b/src/sql/sqlite/createTables.sql
index d22ba99b..68d4ed58 100644
--- a/src/sql/sqlite/createTables.sql
+++ b/src/sql/sqlite/createTables.sql
@@ -140,9 +140,9 @@ CREATE TABLE tmw_world_states
moddate INTEGER NOT NULL
);
-INSERT INTO tmw_world_states VALUES('accountserver_startup',NULL,NULL,1226042339);
-INSERT INTO tmw_world_states VALUES('accountserver_version',NULL,NULL,1226042339);
-INSERT INTO tmw_world_states VALUES('database_version', NULL,'1', 1226042339);
+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,'2', strftime('%s','now'));
CREATE TABLE tmw_auctions
(
@@ -198,9 +198,6 @@ CREATE TABLE tmw_post
CREATE INDEX tmw_post_sender ON tmw_post ( sender_id );
CREATE INDEX tmw_post_receiver ON tmw_post ( receiver_id );
---
--- table: `tmw_post_attachements`
---
CREATE TABLE tmw_post_attachments
(
@@ -215,3 +212,24 @@ CREATE TABLE tmw_post_attachments
CREATE INDEX tmw_post_attachments_ltr ON tmw_post_attachments ( letter_id );
CREATE INDEX tmw_post_attachments_itm ON tmw_post_attachments ( item_id );
+
+CREATE TABLE tmw_online_list
+(
+ char_id INTEGER PRIMARY KEY,
+ login_date INTEGER NOT NULL,
+ --
+ FOREIGN KEY (char_id) REFERENCES tmw_characters(id)
+);
+
+CREATE VIEW tmw_v_online_chars
+AS
+ SELECT l.char_id as char_id,
+ l.login_date as login_date,
+ c.user_id as user_id,
+ c.name as name,
+ c.gender as gender,
+ c.level as level,
+ c.map_id as map_id
+ FROM tmw_online_list l
+ JOIN tmw_characters c
+ ON l.char_id = c.id;
diff --git a/src/sql/sqlite/updates/update_1_to_2.sql b/src/sql/sqlite/updates/update_1_to_2.sql
new file mode 100644
index 00000000..8187cd34
--- /dev/null
+++ b/src/sql/sqlite/updates/update_1_to_2.sql
@@ -0,0 +1,30 @@
+
+-- add table tmw_online_list to store online users
+CREATE TABLE tmw_online_list
+(
+ char_id INTEGER PRIMARY KEY,
+ login_date INTEGER NOT NULL,
+ --
+ FOREIGN KEY (char_id) REFERENCES tmw_characters(id)
+);
+
+-- create a view to show more details about online users
+CREATE VIEW tmw_v_online_chars
+AS
+ SELECT l.char_id as char_id,
+ l.login_date as login_date,
+ c.user_id as user_id,
+ c.name as name,
+ c.gender as gender,
+ c.level as level,
+ c.map_id as map_id
+ FROM tmw_online_list l
+ JOIN tmw_characters c
+ ON l.char_id = c.id;
+
+-- update the database version, and set date of update
+UPDATE tmw_world_states
+ SET value = '2',
+ moddate = strftime('%s','now')
+ WHERE state_name = 'database_version';
+ \ No newline at end of file