mirror of
https://github.com/moodle/moodle.git
synced 2025-03-12 19:54:08 +01:00
790 lines
31 KiB
SQL
790 lines
31 KiB
SQL
CREATE TABLE prefix_config (
|
|
id SERIAL PRIMARY KEY,
|
|
name varchar(255) NOT NULL default '',
|
|
value text NOT NULL default '',
|
|
CONSTRAINT prefix_config_name_uk UNIQUE (name)
|
|
);
|
|
|
|
CREATE TABLE prefix_config_plugins (
|
|
id SERIAL PRIMARY KEY,
|
|
plugin varchar(100) NOT NULL default 'core',
|
|
name varchar(100) NOT NULL default '',
|
|
value text NOT NULL default '',
|
|
CONSTRAINT prefix_config_plugins_plugin_name_uk UNIQUE (plugin, name)
|
|
);
|
|
|
|
CREATE TABLE prefix_course (
|
|
id SERIAL PRIMARY KEY,
|
|
category integer NOT NULL default '0',
|
|
sortorder integer NOT NULL default '0',
|
|
password varchar(50) NOT NULL default '',
|
|
fullname varchar(254) NOT NULL default '',
|
|
shortname varchar(15) NOT NULL default '',
|
|
idnumber varchar(100) NOT NULL default '',
|
|
summary text NOT NULL default '',
|
|
format varchar(10) NOT NULL default 'topics',
|
|
showgrades integer NOT NULL default '1',
|
|
modinfo text,
|
|
newsitems integer NOT NULL default '1',
|
|
teacher varchar(100) NOT NULL default 'Teacher',
|
|
teachers varchar(100) NOT NULL default 'Teachers',
|
|
student varchar(100) NOT NULL default 'Student',
|
|
students varchar(100) NOT NULL default 'Students',
|
|
guest integer NOT NULL default '0',
|
|
startdate integer NOT NULL default '0',
|
|
enrolperiod integer NOT NULL default '0',
|
|
numsections integer NOT NULL default '1',
|
|
marker integer NOT NULL default '0',
|
|
maxbytes integer NOT NULL default '0',
|
|
showreports integer NOT NULL default '0',
|
|
visible integer NOT NULL default '1',
|
|
hiddensections integer NOT NULL default '0',
|
|
groupmode integer NOT NULL default '0',
|
|
groupmodeforce integer NOT NULL default '0',
|
|
lang varchar(10) NOT NULL default '',
|
|
theme varchar(50) NOT NULL default '',
|
|
cost varchar(10) NOT NULL default '',
|
|
currency varchar(3) NOT NULL default 'USD',
|
|
timecreated integer NOT NULL default '0',
|
|
timemodified integer NOT NULL default '0',
|
|
metacourse integer NOT NULL default '0',
|
|
requested integer NOT NULL default '0',
|
|
restrictmodules integer NOT NULL default '0',
|
|
expirynotify integer NOT NULL default '0',
|
|
expirythreshold integer NOT NULL default '0',
|
|
notifystudents integer NOT NULL default '0',
|
|
enrollable integer NOT NULL default '1',
|
|
enrolstartdate integer NOT NULL default '0',
|
|
enrolenddate integer NOT NULL default '0',
|
|
enrol varchar(20) NOT NULL default '',
|
|
defaultrole integer NOT NULL default '0'
|
|
);
|
|
|
|
CREATE UNIQUE INDEX prefix_course_category_sortorder_uk ON prefix_course (category,sortorder);
|
|
CREATE INDEX prefix_course_idnumber_idx ON prefix_course (idnumber);
|
|
CREATE INDEX prefix_course_shortname_idx ON prefix_course (shortname);
|
|
|
|
CREATE TABLE prefix_course_categories (
|
|
id SERIAL PRIMARY KEY,
|
|
name varchar(255) NOT NULL default '',
|
|
description text,
|
|
parent integer NOT NULL default '0',
|
|
sortorder integer NOT NULL default '0',
|
|
coursecount integer NOT NULL default '0',
|
|
visible integer NOT NULL default '1',
|
|
timemodified integer NOT NULL default '0',
|
|
depth integer NOT NULL default '0',
|
|
path varchar(255) NOT NULL default ''
|
|
);
|
|
|
|
CREATE TABLE prefix_course_display (
|
|
id SERIAL PRIMARY KEY,
|
|
course integer NOT NULL default '0',
|
|
userid integer NOT NULL default '0',
|
|
display integer NOT NULL default '0'
|
|
);
|
|
|
|
CREATE INDEX prefix_course_display_courseuserid_idx ON prefix_course_display (course,userid);
|
|
|
|
CREATE TABLE prefix_course_meta (
|
|
id SERIAL primary key,
|
|
parent_course integer NOT NULL,
|
|
child_course integer NOT NULL
|
|
);
|
|
|
|
CREATE INDEX prefix_course_meta_parent_idx ON prefix_course_meta (parent_course);
|
|
CREATE INDEX prefix_course_meta_child_idx ON prefix_course_meta (child_course);
|
|
|
|
CREATE TABLE prefix_course_modules (
|
|
id SERIAL PRIMARY KEY,
|
|
course integer NOT NULL default '0',
|
|
module integer NOT NULL default '0',
|
|
instance integer NOT NULL default '0',
|
|
section integer NOT NULL default '0',
|
|
added integer NOT NULL default '0',
|
|
score integer NOT NULL default '0',
|
|
indent integer NOT NULL default '0',
|
|
visible integer NOT NULL default '1',
|
|
visibleold integer NOT NULL default '1',
|
|
groupmode integer NOT NULL default '0'
|
|
);
|
|
|
|
CREATE INDEX prefix_course_modules_visible_idx ON prefix_course_modules (visible);
|
|
CREATE INDEX prefix_course_modules_course_idx ON prefix_course_modules (course);
|
|
CREATE INDEX prefix_course_modules_module_idx ON prefix_course_modules (module);
|
|
CREATE INDEX prefix_course_modules_instance_idx ON prefix_course_modules (instance);
|
|
|
|
CREATE TABLE prefix_course_sections (
|
|
id SERIAL PRIMARY KEY,
|
|
course integer NOT NULL default '0',
|
|
section integer NOT NULL default '0',
|
|
summary text,
|
|
sequence text,
|
|
visible integer NOT NULL default '1'
|
|
);
|
|
|
|
CREATE INDEX prefix_course_sections_coursesection_idx ON prefix_course_sections (course,section);
|
|
|
|
CREATE TABLE prefix_course_request (
|
|
id SERIAL PRIMARY KEY,
|
|
fullname varchar(254) NOT NULL default '',
|
|
shortname varchar(15) NOT NULL default '',
|
|
summary text NOT NULL default '',
|
|
reason text NOT NULL default '',
|
|
requester INTEGER NOT NULL default 0,
|
|
password varchar(50) NOT NULL default ''
|
|
);
|
|
|
|
CREATE INDEX prefix_course_request_shortname_idx ON prefix_course_request (shortname);
|
|
|
|
CREATE TABLE prefix_course_allowed_modules (
|
|
id SERIAL PRIMARY KEY,
|
|
course INTEGER NOT NULL default 0,
|
|
module INTEGER NOT NULL default 0
|
|
);
|
|
|
|
CREATE INDEX prefix_course_allowed_modules_course_idx ON prefix_course_allowed_modules (course);
|
|
CREATE INDEX prefix_course_allowed_modules_module_idx ON prefix_course_allowed_modules (module);
|
|
|
|
CREATE TABLE prefix_event (
|
|
id SERIAL PRIMARY KEY,
|
|
name varchar(255) NOT NULL default '',
|
|
description text,
|
|
format integer NOT NULL default '0',
|
|
courseid integer NOT NULL default '0',
|
|
groupid integer NOT NULL default '0',
|
|
userid integer NOT NULL default '0',
|
|
repeatid integer NOT NULL default '0',
|
|
modulename varchar(20) NOT NULL default '',
|
|
instance integer NOT NULL default '0',
|
|
eventtype varchar(20) NOT NULL default '',
|
|
timestart integer NOT NULL default '0',
|
|
timeduration integer NOT NULL default '0',
|
|
visible integer NOT NULL default '1',
|
|
uuid char(36) NOT NULL default '',
|
|
sequence integer NOT NULL default '1',
|
|
timemodified integer NOT NULL default '0'
|
|
);
|
|
|
|
CREATE INDEX prefix_event_courseid_idx ON prefix_event (courseid);
|
|
CREATE INDEX prefix_event_userid_idx ON prefix_event (userid);
|
|
CREATE INDEX prefix_event_timestart_idx ON prefix_event (timestart);
|
|
CREATE INDEX prefix_event_timeduration_idx ON prefix_event (timeduration);
|
|
|
|
|
|
CREATE TABLE prefix_grade_category (
|
|
id SERIAL PRIMARY KEY,
|
|
name varchar(64) default NULL,
|
|
courseid integer NOT NULL default '0',
|
|
drop_x_lowest integer NOT NULL default '0',
|
|
bonus_points integer NOT NULL default '0',
|
|
hidden integer NOT NULL default '0',
|
|
weight decimal(5,2) default '0.00'
|
|
);
|
|
|
|
CREATE INDEX prefix_grade_category_courseid_idx ON prefix_grade_category (courseid);
|
|
|
|
CREATE TABLE prefix_grade_exceptions (
|
|
id SERIAL PRIMARY KEY,
|
|
courseid integer NOT NULL default '0',
|
|
grade_itemid integer NOT NULL default '0',
|
|
userid integer NOT NULL default '0'
|
|
);
|
|
|
|
CREATE INDEX prefix_grade_exceptions_courseid_idx ON prefix_grade_exceptions (courseid);
|
|
|
|
|
|
CREATE TABLE prefix_grade_item (
|
|
id SERIAL PRIMARY KEY,
|
|
courseid integer default NULL,
|
|
category integer default NULL,
|
|
modid integer default NULL,
|
|
cminstance integer default NULL,
|
|
scale_grade float(11) default '1.0000000000',
|
|
extra_credit integer NOT NULL default '0',
|
|
sort_order integer NOT NULL default '0'
|
|
);
|
|
|
|
CREATE INDEX prefix_grade_item_courseid_idx ON prefix_grade_item (courseid);
|
|
|
|
CREATE TABLE prefix_grade_letter (
|
|
id SERIAL PRIMARY KEY,
|
|
courseid integer NOT NULL default '0',
|
|
letter varchar(8) NOT NULL default 'NA',
|
|
grade_high decimal(6,2) NOT NULL default '100.00',
|
|
grade_low decimal(6,2) NOT NULL default '0.00'
|
|
);
|
|
|
|
CREATE INDEX prefix_grade_letter_courseid_idx ON prefix_grade_letter (courseid);
|
|
|
|
CREATE TABLE prefix_grade_preferences (
|
|
id SERIAL PRIMARY KEY,
|
|
courseid integer default NULL,
|
|
preference integer NOT NULL default '0',
|
|
value integer NOT NULL default '0'
|
|
);
|
|
|
|
CREATE UNIQUE INDEX prefix_grade_prefs_courseidpref_uk ON prefix_grade_preferences (courseid,preference);
|
|
|
|
CREATE TABLE prefix_log (
|
|
id SERIAL PRIMARY KEY,
|
|
time integer NOT NULL default '0',
|
|
userid integer NOT NULL default '0',
|
|
ip varchar(15) NOT NULL default '',
|
|
course integer NOT NULL default '0',
|
|
module varchar(20) NOT NULL default '',
|
|
cmid integer NOT NULL default '0',
|
|
action varchar(40) NOT NULL default '',
|
|
url varchar(100) NOT NULL default '',
|
|
info varchar(255) NOT NULL default ''
|
|
);
|
|
|
|
CREATE INDEX prefix_log_coursemoduleaction_idx ON prefix_log (course,module,action);
|
|
CREATE INDEX prefix_log_timecoursemoduleaction_idx ON prefix_log (time,course,module,action);
|
|
CREATE INDEX prefix_log_courseuserid_idx ON prefix_log (course,userid);
|
|
CREATE INDEX prefix_log_userid_idx ON prefix_log (userid);
|
|
CREATE INDEX prefix_log_info_idx ON prefix_log (info);
|
|
|
|
CREATE TABLE prefix_log_display (
|
|
id SERIAL PRIMARY KEY,
|
|
module varchar(20) NOT NULL default '',
|
|
action varchar(40) NOT NULL default '',
|
|
mtable varchar(30) NOT NULL default '',
|
|
field varchar(200) NOT NULL default ''
|
|
);
|
|
CREATE INDEX prefix_log_display_moduleaction ON prefix_log_display (module,action);
|
|
|
|
CREATE TABLE prefix_message (
|
|
id SERIAL PRIMARY KEY,
|
|
useridfrom integer NOT NULL default '0',
|
|
useridto integer NOT NULL default '0',
|
|
message text,
|
|
format integer NOT NULL default '0',
|
|
timecreated integer NOT NULL default '0',
|
|
messagetype varchar(50) NOT NULL default ''
|
|
);
|
|
|
|
CREATE INDEX prefix_message_useridfrom_idx ON prefix_message (useridfrom);
|
|
CREATE INDEX prefix_message_useridto_idx ON prefix_message (useridto);
|
|
|
|
CREATE TABLE prefix_message_read (
|
|
id SERIAL PRIMARY KEY,
|
|
useridfrom integer NOT NULL default '0',
|
|
useridto integer NOT NULL default '0',
|
|
message text,
|
|
format integer NOT NULL default '0',
|
|
timecreated integer NOT NULL default '0',
|
|
timeread integer NOT NULL default '0',
|
|
messagetype varchar(50) NOT NULL default '',
|
|
mailed integer NOT NULL default '0'
|
|
);
|
|
|
|
CREATE INDEX prefix_message_read_useridfrom_idx ON prefix_message_read (useridfrom);
|
|
CREATE INDEX prefix_message_read_useridto_idx ON prefix_message_read (useridto);
|
|
|
|
CREATE TABLE prefix_message_contacts (
|
|
id SERIAL PRIMARY KEY,
|
|
userid integer NOT NULL default '0',
|
|
contactid integer NOT NULL default '0',
|
|
blocked integer NOT NULL default '0'
|
|
);
|
|
|
|
CREATE INDEX prefix_message_contacts_useridcontactid_idx ON prefix_message_contacts (userid,contactid);
|
|
|
|
CREATE TABLE prefix_modules (
|
|
id SERIAL PRIMARY KEY,
|
|
name varchar(20) NOT NULL default '',
|
|
version integer NOT NULL default '0',
|
|
cron integer NOT NULL default '0',
|
|
lastcron integer NOT NULL default '0',
|
|
search varchar(255) NOT NULL default '',
|
|
visible integer NOT NULL default '1'
|
|
);
|
|
|
|
CREATE INDEX prefix_modules_name_idx ON prefix_modules (name);
|
|
|
|
CREATE TABLE prefix_scale (
|
|
id SERIAL PRIMARY KEY,
|
|
courseid integer NOT NULL default '0',
|
|
userid integer NOT NULL default '0',
|
|
name varchar(255) NOT NULL default '',
|
|
scale text,
|
|
description text,
|
|
timemodified integer NOT NULL default '0'
|
|
);
|
|
|
|
CREATE TABLE prefix_sessions2 (
|
|
sesskey VARCHAR(255) NOT NULL default '',
|
|
expiry TIMESTAMP NOT NULL,
|
|
expireref VARCHAR(255),
|
|
created TIMESTAMP NOT NULL,
|
|
modified TIMESTAMP NOT NULL,
|
|
sessdata TEXT,
|
|
CONSTRAINT prefix_sess_ses_pk PRIMARY KEY (sesskey)
|
|
);
|
|
|
|
CREATE INDEX prefix_sess_exp_ix ON prefix_sessions2 (expiry);
|
|
|
|
CREATE INDEX prefix_sess_exp2_ix ON prefix_sessions2 (expireref);
|
|
|
|
CREATE TABLE prefix_timezone (
|
|
id SERIAL PRIMARY KEY,
|
|
name varchar(100) NOT NULL default '',
|
|
year integer NOT NULL default '0',
|
|
tzrule varchar(20) NOT NULL default '',
|
|
gmtoff integer NOT NULL default '0',
|
|
dstoff integer NOT NULL default '0',
|
|
dst_month integer NOT NULL default '0',
|
|
dst_startday integer NOT NULL default '0',
|
|
dst_weekday integer NOT NULL default '0',
|
|
dst_skipweeks integer NOT NULL default '0',
|
|
dst_time varchar(5) NOT NULL default '00:00',
|
|
std_month integer NOT NULL default '0',
|
|
std_startday integer NOT NULL default '0',
|
|
std_weekday integer NOT NULL default '0',
|
|
std_skipweeks integer NOT NULL default '0',
|
|
std_time varchar(5) NOT NULL default '00:00'
|
|
);
|
|
|
|
|
|
CREATE TABLE prefix_cache_filters (
|
|
id SERIAL PRIMARY KEY,
|
|
filter varchar(32) NOT NULL default '',
|
|
version integer NOT NULL default '0',
|
|
md5key varchar(32) NOT NULL default '',
|
|
rawtext text,
|
|
timemodified integer NOT NULL default '0'
|
|
);
|
|
|
|
CREATE INDEX prefix_cache_filters_filtermd5key_idx ON prefix_cache_filters (filter,md5key);
|
|
|
|
CREATE INDEX prefix_scale_courseid_idx ON prefix_scale (courseid);
|
|
|
|
|
|
CREATE TABLE prefix_cache_text (
|
|
id SERIAL PRIMARY KEY,
|
|
md5key varchar(32) NOT NULL default '',
|
|
formattedtext text,
|
|
timemodified integer NOT NULL default '0'
|
|
);
|
|
|
|
CREATE INDEX prefix_cache_text_md5key_idx ON prefix_cache_text (md5key);
|
|
|
|
--
|
|
-- Table structure for table `user`
|
|
--
|
|
-- When updating field length, modify
|
|
-- truncate_userinfo() in moodlelib.php
|
|
--
|
|
CREATE TABLE prefix_user (
|
|
id SERIAL PRIMARY KEY,
|
|
auth varchar(20) NOT NULL default 'manual',
|
|
confirmed integer NOT NULL default '0',
|
|
policyagreed integer NOT NULL default '0',
|
|
deleted integer NOT NULL default '0',
|
|
username varchar(100) NOT NULL default '',
|
|
password varchar(32) NOT NULL default '',
|
|
idnumber varchar(64) default NULL,
|
|
firstname varchar(20) NOT NULL default '',
|
|
lastname varchar(20) NOT NULL default '',
|
|
email varchar(100) NOT NULL default '',
|
|
emailstop integer NOT NULL default '0',
|
|
icq varchar(15) default NULL,
|
|
skype varchar(50) default NULL,
|
|
yahoo varchar(50) default NULL,
|
|
aim varchar(50) default NULL,
|
|
msn varchar(50) default NULL,
|
|
phone1 varchar(20) default NULL,
|
|
phone2 varchar(20) default NULL,
|
|
institution varchar(40) default NULL,
|
|
department varchar(30) default NULL,
|
|
address varchar(70) default NULL,
|
|
city varchar(20) default NULL,
|
|
country char(2) default NULL,
|
|
lang varchar(10) NOT NULL default '',
|
|
theme varchar(50) NOT NULL default '',
|
|
timezone varchar(100) NOT NULL default '99',
|
|
firstaccess integer NOT NULL default '0',
|
|
lastaccess integer NOT NULL default '0',
|
|
lastlogin integer NOT NULL default '0',
|
|
currentlogin integer NOT NULL default '0',
|
|
lastip varchar(15) default NULL,
|
|
secret varchar(15) default NULL,
|
|
picture integer default NULL,
|
|
url varchar(255) default NULL,
|
|
description text,
|
|
mailformat integer NOT NULL default '1',
|
|
maildigest integer NOT NULL default '0',
|
|
maildisplay integer NOT NULL default '2',
|
|
htmleditor integer NOT NULL default '1',
|
|
ajax integer NOT NULL default '1',
|
|
autosubscribe integer NOT NULL default '1',
|
|
trackforums integer NOT NULL default '0',
|
|
timemodified integer NOT NULL default '0'
|
|
);
|
|
|
|
CREATE UNIQUE INDEX prefix_user_username_uk ON prefix_user (username);
|
|
CREATE INDEX prefix_user_idnumber_idx ON prefix_user (idnumber);
|
|
CREATE INDEX prefix_user_auth_idx ON prefix_user (auth);
|
|
CREATE INDEX prefix_user_deleted_idx ON prefix_user (deleted);
|
|
CREATE INDEX prefix_user_confirmed_idx ON prefix_user (confirmed);
|
|
CREATE INDEX prefix_user_firstname_idx ON prefix_user (firstname);
|
|
CREATE INDEX prefix_user_lastname_idx ON prefix_user (lastname);
|
|
CREATE INDEX prefix_user_city_idx ON prefix_user (city);
|
|
CREATE INDEX prefix_user_country_idx ON prefix_user (country);
|
|
CREATE INDEX prefix_user_lastaccess_idx ON prefix_user (lastaccess);
|
|
CREATE INDEX prefix_user_email_idx ON prefix_user (email);
|
|
|
|
CREATE TABLE prefix_user_admins (
|
|
id SERIAL PRIMARY KEY,
|
|
userid integer NOT NULL default '0'
|
|
);
|
|
|
|
CREATE INDEX prefix_user_admins_userid_idx ON prefix_user_admins (userid);
|
|
|
|
CREATE TABLE prefix_user_preferences (
|
|
id SERIAL PRIMARY KEY,
|
|
userid integer NOT NULL default '0',
|
|
name varchar(50) NOT NULL default '',
|
|
value varchar(255) NOT NULL default ''
|
|
);
|
|
|
|
CREATE INDEX prefix_user_preferences_useridname_idx ON prefix_user_preferences (userid,name);
|
|
|
|
CREATE TABLE prefix_user_students (
|
|
id SERIAL PRIMARY KEY,
|
|
userid integer NOT NULL default '0',
|
|
course integer NOT NULL default '0',
|
|
timestart integer NOT NULL default '0',
|
|
timeend integer NOT NULL default '0',
|
|
time integer NOT NULL default '0',
|
|
timeaccess integer NOT NULL default '0',
|
|
enrol varchar (20) NOT NULL default ''
|
|
);
|
|
|
|
CREATE UNIQUE INDEX prefix_user_students_courseuserid_uk ON prefix_user_students (course,userid);
|
|
CREATE INDEX prefix_user_students_userid_idx ON prefix_user_students (userid);
|
|
CREATE INDEX prefix_user_students_enrol_idx ON prefix_user_students (enrol);
|
|
CREATE INDEX prefix_user_students_timeaccess_idx ON prefix_user_students (timeaccess);
|
|
|
|
CREATE TABLE prefix_user_teachers (
|
|
id SERIAL PRIMARY KEY,
|
|
userid integer NOT NULL default '0',
|
|
course integer NOT NULL default '0',
|
|
authority integer NOT NULL default '3',
|
|
role varchar(40) NOT NULL default '',
|
|
editall integer NOT NULL default '1',
|
|
timestart integer NOT NULL default '0',
|
|
timeend integer NOT NULL default '0',
|
|
timemodified integer NOT NULL default '0',
|
|
timeaccess integer NOT NULL default '0',
|
|
enrol varchar (20) NOT NULL default ''
|
|
);
|
|
|
|
CREATE UNIQUE INDEX prefix_user_teachers_courseuserid_uk ON prefix_user_teachers (course,userid);
|
|
CREATE INDEX prefix_user_teachers_userid_idx ON prefix_user_teachers (userid);
|
|
CREATE INDEX prefix_user_teachers_enrol_idx ON prefix_user_teachers (enrol);
|
|
|
|
CREATE TABLE prefix_user_coursecreators (
|
|
id SERIAL8 PRIMARY KEY,
|
|
userid int8 NOT NULL default '0'
|
|
);
|
|
|
|
CREATE INDEX prefix_user_coursecreators_userid_idx ON prefix_user_coursecreators (userid);
|
|
|
|
CREATE TABLE adodb_logsql (
|
|
created timestamp NOT NULL,
|
|
sql0 varchar(250) NOT NULL,
|
|
sql1 text NOT NULL,
|
|
params text NOT NULL,
|
|
tracer text NOT NULL,
|
|
timer decimal(16,6) NOT NULL
|
|
);
|
|
|
|
CREATE TABLE prefix_stats_daily (
|
|
id SERIAL PRIMARY KEY,
|
|
courseid INTEGER NOT NULL default 0,
|
|
roleid INTEGER NOT NULL default 0,
|
|
timeend INTEGER NOT NULL default 0,
|
|
stattype varchar(20) NOT NULL default 'activity',
|
|
stat1 INTEGER NOT NULL default 0,
|
|
stat2 INTEGER NOT NULL default 0,
|
|
CHECK (stattype::text = 'enrolments' OR stattype::text = 'activity' OR stattype::text = 'logins')
|
|
);
|
|
|
|
CREATE INDEX prefix_stats_daily_courseid_idx ON prefix_stats_daily (courseid);
|
|
CREATE INDEX prefix_stats_daily_timeend_idx ON prefix_stats_daily (timeend);
|
|
|
|
CREATE TABLE prefix_stats_weekly (
|
|
id SERIAL PRIMARY KEY,
|
|
courseid INTEGER NOT NULL default 0,
|
|
roleid INTEGER NOT NULL default 0,
|
|
timeend INTEGER NOT NULL default 0,
|
|
stattype varchar(20) NOT NULL default 'activity',
|
|
stat1 INTEGER NOT NULL default 0,
|
|
stat2 INTEGER NOT NULL default 0,
|
|
CHECK (stattype::text = 'enrolments' OR stattype::text = 'activity' OR stattype::text = 'logins')
|
|
);
|
|
|
|
CREATE INDEX prefix_stats_weekly_courseid_idx ON prefix_stats_weekly (courseid);
|
|
CREATE INDEX prefix_stats_weekly_timeend_idx ON prefix_stats_weekly (timeend);
|
|
|
|
CREATE TABLE prefix_stats_monthly (
|
|
id SERIAL PRIMARY KEY,
|
|
courseid INTEGER NOT NULL default 0,
|
|
roleid INTEGER NOT NULL default 0,
|
|
timeend INTEGER NOT NULL default 0,
|
|
stattype varchar(20) NOT NULL default 'activity',
|
|
stat1 INTEGER NOT NULL default 0,
|
|
stat2 INTEGER NOT NULL default 0,
|
|
CHECK (stattype::text = 'enrolments' OR stattype::text = 'activity' OR stattype::text = 'logins')
|
|
);
|
|
|
|
CREATE INDEX prefix_stats_monthly_courseid_idx ON prefix_stats_monthly (courseid);
|
|
CREATE INDEX prefix_stats_monthly_timeend_idx ON prefix_stats_monthly (timeend);
|
|
|
|
CREATE TABLE prefix_stats_user_daily (
|
|
id SERIAL PRIMARY KEY,
|
|
courseid INTEGER NOT NULL default 0,
|
|
userid INTEGER NOT NULL default 0,
|
|
roleid INTEGER NOT NULL default 0,
|
|
timeend INTEGER NOT NULL default 0,
|
|
statsreads INTEGER NOT NULL default 0,
|
|
statswrites INTEGER NOT NULL default 0,
|
|
stattype varchar(30) NOT NULL default ''
|
|
);
|
|
|
|
CREATE INDEX prefix_stats_user_daily_courseid_idx ON prefix_stats_user_daily (courseid);
|
|
CREATE INDEX prefix_stats_user_daily_userid_idx ON prefix_stats_user_daily (userid);
|
|
CREATE INDEX prefix_stats_user_daily_roleid_idx ON prefix_stats_user_daily (roleid);
|
|
CREATE INDEX prefix_stats_user_daily_timeend_idx ON prefix_stats_user_daily (timeend);
|
|
|
|
CREATE TABLE prefix_stats_user_weekly (
|
|
id SERIAL PRIMARY KEY,
|
|
courseid INTEGER NOT NULL default 0,
|
|
userid INTEGER NOT NULL default 0,
|
|
roleid INTEGER NOT NULL default 0,
|
|
timeend INTEGER NOT NULL default 0,
|
|
statsreads INTEGER NOT NULL default 0,
|
|
statswrites INTEGER NOT NULL default 0,
|
|
stattype varchar(30) NOT NULL default ''
|
|
);
|
|
|
|
CREATE INDEX prefix_stats_user_weekly_courseid_idx ON prefix_stats_user_weekly (courseid);
|
|
CREATE INDEX prefix_stats_user_weekly_userid_idx ON prefix_stats_user_weekly (userid);
|
|
CREATE INDEX prefix_stats_user_weekly_roleid_idx ON prefix_stats_user_weekly (roleid);
|
|
CREATE INDEX prefix_stats_user_weekly_timeend_idx ON prefix_stats_user_weekly (timeend);
|
|
|
|
CREATE TABLE prefix_stats_user_monthly (
|
|
id SERIAL PRIMARY KEY,
|
|
courseid INTEGER NOT NULL default 0,
|
|
userid INTEGER NOT NULL default 0,
|
|
roleid INTEGER NOT NULL default 0,
|
|
timeend INTEGER NOT NULL default 0,
|
|
statsreads INTEGER NOT NULL default 0,
|
|
statswrites INTEGER NOT NULL default 0,
|
|
stattype varchar(30) NOT NULL default ''
|
|
);
|
|
|
|
CREATE INDEX prefix_stats_user_monthly_courseid_idx ON prefix_stats_user_monthly (courseid);
|
|
CREATE INDEX prefix_stats_user_monthly_userid_idx ON prefix_stats_user_monthly (userid);
|
|
CREATE INDEX prefix_stats_user_monthly_roleid_idx ON prefix_stats_user_monthly (roleid);
|
|
CREATE INDEX prefix_stats_user_monthly_timeend_idx ON prefix_stats_user_monthly (timeend);
|
|
|
|
CREATE TABLE prefix_post (
|
|
id SERIAL PRIMARY KEY,
|
|
module varchar(20) NOT NULL default '',
|
|
userid INTEGER NOT NULL default 0,
|
|
courseid INTEGER NOT NULL default 0,
|
|
groupid INTEGER NOT NULL default 0,
|
|
moduleid INTEGER NOT NULL default 0,
|
|
coursemoduleid INTEGER NOT NULL default 0,
|
|
subject varchar(128) NOT NULL default '',
|
|
summary text,
|
|
content text,
|
|
uniquehash varchar(128) NOT NULL default '',
|
|
rating INTEGER NOT NULL default 0,
|
|
format INTEGER NOT NULL default 0,
|
|
publishstate varchar(10) CHECK (publishstate IN ('draft','site','public')) NOT NULL default 'draft',
|
|
lastmodified INTEGER NOT NULL default '0',
|
|
created INTEGER NOT NULL default '0'
|
|
);
|
|
|
|
CREATE INDEX prefix_id_user_idx ON prefix_post (id, courseid);
|
|
CREATE INDEX prefix_post_lastmodified_idx ON prefix_post (lastmodified);
|
|
CREATE INDEX prefix_post_module_idx ON prefix_post (moduleid);
|
|
CREATE INDEX prefix_post_subject_idx ON prefix_post (subject);
|
|
|
|
CREATE TABLE prefix_tags (
|
|
id SERIAL PRIMARY KEY,
|
|
type varchar(255) NOT NULL default 'official',
|
|
userid INTEGER NOT NULL default 0,
|
|
text varchar(255) NOT NULL default ''
|
|
);
|
|
CREATE INDEX prefix_tags_typeuserid_idx ON prefix_tags (type, userid);
|
|
CREATE INDEX prefix_tags_text_idx ON prefix_tags (text);
|
|
|
|
CREATE TABLE prefix_blog_tag_instance (
|
|
id SERIAL PRIMARY KEY,
|
|
entryid integer NOT NULL default 0,
|
|
tagid integer NOT NULL default 0,
|
|
groupid integer NOT NULL default 0,
|
|
courseid integer NOT NULL default 0,
|
|
userid integer NOT NULL default 0,
|
|
timemodified integer NOT NULL default 0
|
|
);
|
|
CREATE INDEX prefix_bti_entryid_idx ON prefix_blog_tag_instance (entryid);
|
|
CREATE INDEX prefix_bti_tagid_idx ON prefix_blog_tag_instance (tagid);
|
|
|
|
# Roles tables
|
|
CREATE TABLE prefix_role (
|
|
id SERIAL PRIMARY KEY,
|
|
name varchar(255) NOT NULL default '',
|
|
shortname varchar(100) NOT NULL default '',
|
|
description text NOT NULL default '',
|
|
sortorder integer NOT NULL default '0'
|
|
);
|
|
CREATE INDEX prefix_role_sortorder_idx ON prefix_role (sortorder);
|
|
|
|
CREATE TABLE prefix_context (
|
|
id SERIAL PRIMARY KEY,
|
|
contextlevel integer NOT NULL default 0,
|
|
instanceid integer NOT NULL default 0
|
|
);
|
|
CREATE INDEX prefix_context_instanceid_idx ON prefix_context (instanceid);
|
|
CREATE UNIQUE INDEX prefix_context_contextlevelinstanceid_idx ON prefix_context (contextlevel, instanceid);
|
|
|
|
CREATE TABLE prefix_role_assignments (
|
|
id SERIAL PRIMARY KEY,
|
|
roleid integer NOT NULL default 0,
|
|
contextid integer NOT NULL default 0,
|
|
userid integer NOT NULL default 0,
|
|
hidden integer NOT NULL default 0,
|
|
timestart integer NOT NULL default 0,
|
|
timeend integer NOT NULL default 0,
|
|
timemodified integer NOT NULL default 0,
|
|
modifierid integer NOT NULL default 0,
|
|
enrol varchar(20) NOT NULL default '',
|
|
sortorder integer NOT NULL default '0'
|
|
);
|
|
CREATE INDEX prefix_role_assignments_roleid_idx ON prefix_role_assignments (roleid);
|
|
CREATE INDEX prefix_role_assignments_contextidid_idx ON prefix_role_assignments (contextid);
|
|
CREATE INDEX prefix_role_assignments_userid_idx ON prefix_role_assignments (userid);
|
|
CREATE UNIQUE INDEX prefix_role_assignments_contextidroleiduserid_idx ON prefix_role_assignments (contextid, roleid, userid);
|
|
CREATE INDEX prefix_role_assignments_sortorder_idx ON prefix_role_assignments (sortorder);
|
|
|
|
CREATE TABLE prefix_role_capabilities (
|
|
id SERIAL PRIMARY KEY,
|
|
contextid integer NOT NULL default 0,
|
|
roleid integer NOT NULL default 0,
|
|
capability varchar(255) NOT NULL default '',
|
|
permission integer NOT NULL default 0,
|
|
timemodified integer NOT NULL default 0,
|
|
modifierid integer NOT NULL default 0
|
|
);
|
|
CREATE INDEX prefix_role_capabilities_roleid_idx ON prefix_role_capabilities (roleid);
|
|
CREATE INDEX prefix_role_capabilities_contextid_idx ON prefix_role_capabilities (contextid);
|
|
CREATE INDEX prefix_role_capabilities_modifierid_idx ON prefix_role_capabilities (modifierid);
|
|
CREATE UNIQUE INDEX prefix_role_capabilities_roleidcontextidcapability_idx ON prefix_role_capabilities (roleid, contextid, capability);
|
|
|
|
CREATE TABLE prefix_role_allow_assign (
|
|
id SERIAL PRIMARY KEY,
|
|
roleid integer NOT NULL default '0',
|
|
allowassign integer NOT NULL default '0'
|
|
);
|
|
CREATE INDEX prefix_role_allow_assign_roleid_idx ON prefix_role_allow_assign (roleid);
|
|
CREATE INDEX prefix_role_allow_assign_allowassign_idx ON prefix_role_allow_assign (allowassign);
|
|
CREATE UNIQUE INDEX prefix_role_allow_assign_roleidallowassign_idx ON prefix_role_allow_assign (roleid, allowassign);
|
|
|
|
CREATE TABLE prefix_role_allow_override (
|
|
id SERIAL PRIMARY KEY,
|
|
roleid integer NOT NULL default '0',
|
|
allowoverride integer NOT NULL default '0'
|
|
);
|
|
CREATE INDEX prefix_role_allow_override_roleid_idx ON prefix_role_allow_override (roleid);
|
|
CREATE INDEX prefix_role_allow_override_allowoverride_idx ON prefix_role_allow_override (allowoverride);
|
|
CREATE UNIQUE INDEX prefix_role_allow_override_roleidallowoverride_idx ON prefix_role_allow_override (roleid, allowoverride);
|
|
|
|
CREATE TABLE prefix_capabilities (
|
|
id SERIAL PRIMARY KEY,
|
|
name varchar(255) NOT NULL default '',
|
|
captype varchar(50) NOT NULL default '',
|
|
contextlevel integer NOT NULL default 0,
|
|
component varchar(100) NOT NULL default '',
|
|
riskbitmask integer NOT NULL default 0
|
|
);
|
|
CREATE UNIQUE INDEX prefix_capabilities_name_idx ON prefix_capabilities (name);
|
|
|
|
CREATE TABLE prefix_role_names (
|
|
id SERIAL PRIMARY KEY,
|
|
roleid integer NOT NULL default 0,
|
|
contextid integer NOT NULL default 0,
|
|
text text NOT NULL default ''
|
|
);
|
|
CREATE INDEX prefix_role_names_roleid_idx ON prefix_role_names (roleid);
|
|
CREATE INDEX prefix_role_names_contextid_idx ON prefix_role_names (contextid);
|
|
CREATE UNIQUE INDEX prefix_role_names_roleidcontextid_idx ON prefix_role_names (roleid, contextid);
|
|
|
|
CREATE TABLE prefix_user_lastaccess (
|
|
id SERIAL PRIMARY KEY,
|
|
userid integer NOT NULL default 0,
|
|
courseid integer NOT NULL default 0,
|
|
timeaccess integer NOT NULL default 0
|
|
);
|
|
|
|
CREATE INDEX prefix_user_lastaccess_userid_idx ON prefix_user_lastaccess (userid);
|
|
CREATE INDEX prefix_user_lastaccess_courseid_idx ON prefix_user_lastaccess (courseid);
|
|
CREATE UNIQUE INDEX prefix_user_lastaccess_useridcourseid_idx ON prefix_user_lastaccess (userid, courseid);
|
|
|
|
INSERT INTO prefix_log_display (module, action, mtable, field) VALUES ('user', 'view', 'user', 'firstname||\' \'||lastname');
|
|
INSERT INTO prefix_log_display (module, action, mtable, field) VALUES ('course', 'user report', 'user', 'firstname||\' \'||lastname');
|
|
INSERT INTO prefix_log_display (module, action, mtable, field) VALUES ('course', 'view', 'course', 'fullname');
|
|
INSERT INTO prefix_log_display (module, action, mtable, field) VALUES ('course', 'update', 'course', 'fullname');
|
|
INSERT INTO prefix_log_display (module, action, mtable, field) VALUES ('course', 'enrol', 'course', 'fullname');
|
|
INSERT INTO prefix_log_display (module, action, mtable, field) VALUES ('course', 'report log', 'course', 'fullname');
|
|
INSERT INTO prefix_log_display (module, action, mtable, field) VALUES ('course', 'report live', 'course', 'fullname');
|
|
INSERT INTO prefix_log_display (module, action, mtable, field) VALUES ('course', 'report outline', 'course', 'fullname');
|
|
INSERT INTO prefix_log_display (module, action, mtable, field) VALUES ('course', 'report participation', 'course', 'fullname');
|
|
INSERT INTO prefix_log_display (module, action, mtable, field) VALUES ('course', 'report stats', 'course', 'fullname');
|
|
INSERT INTO prefix_log_display (module, action, mtable, field) VALUES ('message', 'write', 'user', 'firstname||\' \'||lastname');
|
|
INSERT INTO prefix_log_display (module, action, mtable, field) VALUES ('message', 'read', 'user', 'firstname||\' \'||lastname');
|
|
INSERT INTO prefix_log_display (module, action, mtable, field) VALUES ('message', 'add contact', 'user', 'firstname||\' \'||lastname');
|
|
INSERT INTO prefix_log_display (module, action, mtable, field) VALUES ('message', 'remove contact', 'user', 'firstname||\' \'||lastname');
|
|
INSERT INTO prefix_log_display (module, action, mtable, field) VALUES ('message', 'block contact', 'user', 'firstname||\' \'||lastname');
|
|
INSERT INTO prefix_log_display (module, action, mtable, field) VALUES ('message', 'unblock contact', 'user', 'firstname||\' \'||lastname');
|
|
|
|
|
|
CREATE TABLE prefix_user_info_field (
|
|
id BIGSERIAL,
|
|
name VARCHAR(255) NOT NULL default '',
|
|
datatype VARCHAR(255) NOT NULL default '',
|
|
categoryid BIGINT NOT NULL default 0,
|
|
sortorder BIGINT NOT NULL default 0,
|
|
required SMALLINT NOT NULL default 0,
|
|
locked SMALLINT NOT NULL default 0,
|
|
visible SMALLINT NOT NULL default 0,
|
|
defaultdata TEXT,
|
|
CONSTRAINT prefix_userinfofiel_id_pk PRIMARY KEY (id)
|
|
);
|
|
|
|
COMMENT ON TABLE prefix_user_info_field IS 'Customisable user profile fields';
|
|
|
|
CREATE TABLE prefix_user_info_category (
|
|
id BIGSERIAL,
|
|
name VARCHAR(255) NOT NULL default '',
|
|
sortorder BIGINT NOT NULL default 0,
|
|
CONSTRAINT prefix_userinfocate_id_pk PRIMARY KEY (id)
|
|
);
|
|
|
|
COMMENT ON TABLE prefix_user_info_category IS 'Customisable fields categories';
|
|
|
|
CREATE TABLE prefix_user_info_data (
|
|
id BIGSERIAL,
|
|
userid BIGINT NOT NULL default 0,
|
|
fieldid BIGINT NOT NULL default 0,
|
|
data TEXT NOT NULL,
|
|
CONSTRAINT prefix_userinfodata_id_pk PRIMARY KEY (id)
|
|
);
|
|
|
|
COMMENT ON TABLE prefix_user_info_data IS 'Data for the customisable user fields';
|