-- TODO: de-blob this; it should be a property table
CREATE TABLE user_rights (
- user_id int(5) unsigned NOT NULL,
- user_rights tinyblob NOT NULL default '',
- UNIQUE KEY user_id (user_id)
+ ur_user int(5) unsigned NOT NULL,
+ ur_rights tinyblob NOT NULL default '',
+ UNIQUE KEY ur_user (ur_user)
);
CREATE TABLE user_newtalk (
cur_touched char(14) binary NOT NULL default '',
inverse_timestamp char(14) binary NOT NULL default '',
PRIMARY KEY cur_id (cur_id),
- INDEX name_title (cur_namespace,cur_title),
+ UNIQUE INDEX name_title (cur_namespace,cur_title),
-- Is this one necessary?
INDEX cur_title (cur_title(20)),
CREATE TABLE old (
old_id int(8) unsigned NOT NULL auto_increment,
- old_articleid int(8) unsigned NOT NULL,
+ old_namespace tinyint(2) unsigned NOT NULL default '0',
+ old_title varchar(255) binary NOT NULL default '',
old_text mediumtext NOT NULL default '',
old_comment tinyblob NOT NULL default '',
old_user int(5) unsigned NOT NULL default '0',
inverse_timestamp char(14) binary NOT NULL default '',
PRIMARY KEY old_id (old_id),
- INDEX articleid (old_articleid),
INDEX old_timestamp (old_timestamp),
- INDEX articleid_timestamp (old_articleid,inverse_timestamp),
+ INDEX name_title_timestamp (old_namespace,old_title,inverse_timestamp),
INDEX user_timestamp (old_user,inverse_timestamp),
INDEX usertext_timestamp (old_user_text,inverse_timestamp)
);
-- Key to the page affected. Where a user is the target,
-- this will point to the user page.
log_namespace tinyint unsigned NOT NULL default 0,
- log_title varchar(255) binary NOT NULL default '',
+ log_title varchar(255) NOT NULL default '',
-- Freeform text. Interpreted as edit history comments.
log_comment varchar(255) NOT NULL default '',
KEY user_time (log_user, log_timestamp),
KEY page_time (log_namespace, log_title, log_timestamp)
);
+
+
+
+
+
+-- Hold group name and description
+CREATE TABLE `group` (
+ group_id int(5) unsigned NOT NULL auto_increment,
+ group_name varchar(50) NOT NULL default '',
+ group_description varchar(255) NOT NULL default '',
+ group_rights tinyblob,
+ PRIMARY KEY (group_id)
+);
+
+-- Relation table between user and groups
+CREATE TABLE user_groups (
+ ug_user int(5) unsigned NOT NULL default '0',
+ ug_group int(5) unsigned NOT NULL default '0',
+ PRIMARY KEY (ug_user,ug_group)
+);