mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/Echo
synced 2024-11-28 01:30:15 +00:00
6b8571403a
patch set 3: * add gender support to various messages * tweak variables a little bit, e.g. move class variables to function local variables patch set 4: * update various email to e-mail in i18n file * add support to process only valid echo events * add global email footer * add the new table schema to core schema file patch set 5: * remove trailing white space * add missing semicolon to return statement in Notifier::notifyWithEmail() patch set 8: * some change based on newest feature requirement Change-Id: I3298617dab4c04c4d6d486469120fc2d0c986b66
48 lines
2.2 KiB
SQL
48 lines
2.2 KiB
SQL
-- Database Schema for Echo notification system
|
|
|
|
CREATE TABLE /*_*/echo_subscription (
|
|
sub_user int unsigned not null,
|
|
sub_event_type varchar(64) binary not null,
|
|
sub_page_namespace int unsigned null,
|
|
sub_page_title varchar(255) binary null,
|
|
sub_notify_type varchar(64) binary not null,
|
|
sub_enabled tinyint(1) unsigned not null default 1
|
|
) /*$wgDBTableOptions*/;
|
|
|
|
CREATE UNIQUE INDEX /*i*/user_subscriptions ON /*_*/echo_subscription (sub_user,sub_event_type,sub_page_namespace,sub_page_title,sub_notify_type,sub_enabled);
|
|
CREATE INDEX /*i*/page_subscriptions ON /*_*/echo_subscription (sub_page_namespace,sub_page_title,sub_event_type,sub_user);
|
|
|
|
CREATE TABLE /*_*/echo_event (
|
|
event_id int unsigned not null primary key auto_increment,
|
|
event_timestamp binary(14) not null,
|
|
event_type varchar(64) binary not null,
|
|
event_variant varchar(64) binary null,
|
|
event_agent_id int unsigned null, -- The user who triggered it, if any
|
|
event_agent_ip varchar(255) binary null, -- IP address who triggered it, if any
|
|
event_page_namespace int unsigned null,
|
|
event_page_title varchar(255) binary null,
|
|
event_extra BLOB NULL
|
|
) /*$wgDBTableOptions*/;
|
|
|
|
CREATE INDEX /*i*/type_page ON /*_*/echo_event (event_type,event_page_namespace,event_page_title,event_timestamp);
|
|
|
|
CREATE TABLE /*_*/echo_notification (
|
|
notification_event int unsigned not null,
|
|
notification_user int unsigned not null,
|
|
notification_timestamp binary(14) not null,
|
|
notification_read_timestamp binary(14) null
|
|
) /*$wgDBTableOptions*/;
|
|
|
|
CREATE INDEX /*i*/user_timestamp ON /*_*/echo_notification (notification_user,notification_timestamp);
|
|
CREATE UNIQUE INDEX /*i*/user_event ON /*_*/echo_notification (notification_user,notification_event);
|
|
|
|
CREATE TABLE /*_*/echo_email_batch (
|
|
eeb_id int unsigned not null primary key auto_increment,
|
|
eeb_user_id int unsigned not null,
|
|
eeb_event_priority tinyint unsigned not null default 10, -- event priority
|
|
eeb_event_id int unsigned not null
|
|
) /*$wgDBTableOptions*/;
|
|
|
|
CREATE UNIQUE INDEX /*i*/echo_email_batch_user_event ON /*_*/echo_email_batch (eeb_user_id,eeb_event_id);
|
|
CREATE UNIQUE INDEX /*i*/echo_email_batch_user_priority_event ON /*_*/echo_email_batch (eeb_user_id,eeb_event_priority,eeb_event_id);
|