adding blog support (development code)
[moodle.git] / lib / db / mysql.sql
1 # phpMyAdmin MySQL-Dump
2 # version 2.3.0-dev
3 # http://phpwizard.net/phpMyAdmin/
4 # http://www.phpmyadmin.net/ (download page)
5 #
6 # Host: localhost
7 # Generation Time: Jun 25, 2002 at 05:04 PM
8 # Server version: 3.23.49
9 # PHP Version: 4.1.2
10 # Database : `moodle`
11 # --------------------------------------------------------
13 #
14 # Table structure for table `config`
15 #
17 CREATE TABLE `prefix_config` (
18   `id` int(10) unsigned NOT NULL auto_increment,
19   `name` varchar(255) NOT NULL default '',
20   `value` text NOT NULL default '',
21   PRIMARY KEY  (`id`),
22   UNIQUE KEY `name` (`name`)
23 ) TYPE=MyISAM COMMENT='Moodle configuration variables';
24 # --------------------------------------------------------
26 #
27 # Table structure for table `config_plugins`
28 #
30 CREATE TABLE `prefix_config_plugins` (
31   `id`         int(10) unsigned NOT NULL auto_increment,
32   `plugin`     varchar(100) NOT NULL default 'core',
33   `name`       varchar(100) NOT NULL default '',
34   `value`      text NOT NULL default '',
35   PRIMARY KEY  (`id`),
36   UNIQUE KEY `plugin_name` (`plugin`, `name`)
37 ) TYPE=MyISAM COMMENT='Moodle modules and plugins configuration variables';
38 # --------------------------------------------------------
41 #
42 # Table structure for table `course`
43 #
45 CREATE TABLE `prefix_course` (
46   `id` int(10) unsigned NOT NULL auto_increment,
47   `category` int(10) unsigned NOT NULL default '0',
48   `sortorder` int(10) unsigned NOT NULL default '0',
49   `password` varchar(50) NOT NULL default '',
50   `fullname` varchar(254) NOT NULL default '',
51   `shortname` varchar(15) NOT NULL default '',
52   `idnumber` varchar(100) NOT NULL default '',
53   `summary` text NOT NULL default '',
54   `format` varchar(10) NOT NULL default 'topics',
55   `showgrades` smallint(2) unsigned NOT NULL default '1',
56   `modinfo` longtext NOT NULL default '',
57   `newsitems` smallint(5) unsigned NOT NULL default '1',
58   `teacher` varchar(100) NOT NULL default 'Teacher',
59   `teachers` varchar(100) NOT NULL default 'Teachers',
60   `student` varchar(100) NOT NULL default 'Student',
61   `students` varchar(100) NOT NULL default 'Students',
62   `guest` tinyint(2) unsigned NOT NULL default '0',
63   `startdate` int(10) unsigned NOT NULL default '0',
64   `enrolperiod` int(10) unsigned NOT NULL default '0',
65   `numsections` smallint(5) unsigned NOT NULL default '1',
66   `marker` int(10) unsigned NOT NULL default '0',
67   `maxbytes` int(10) unsigned NOT NULL default '0',
68   `showreports` int(4) unsigned NOT NULL default '0',
69   `visible` int(1) unsigned NOT NULL default '1',
70   `hiddensections` int(2) unsigned NOT NULL default '0',
71   `groupmode` int(4) unsigned NOT NULL default '0',
72   `groupmodeforce` int(4) unsigned NOT NULL default '0',
73   `lang` varchar(10) NOT NULL default '',
74   `theme` varchar(50) NOT NULL default '',
75   `cost` varchar(10) NOT NULL default '',
76   `currency` char(3) NOT NULL default 'USD',
77   `timecreated` int(10) unsigned NOT NULL default '0',
78   `timemodified` int(10) unsigned NOT NULL default '0',
79   `metacourse` int(1) unsigned NOT NULL default '0',
80   `requested` int(1) unsigned NOT NULL default '0',
81   `restrictmodules` int(1) unsigned NOT NULL default '0',
82   `expirynotify` tinyint(1) unsigned NOT NULL default '0',
83   `expirythreshold` int(10) unsigned NOT NULL default '0',
84   `notifystudents` tinyint(1) unsigned NOT NULL default '0',  
85   `enrollable` tinyint(1) unsigned NOT NULL default '1',
86   `enrolstartdate` int(10) unsigned NOT NULL default '0',
87   `enrolenddate` int(10) unsigned NOT NULL default '0',
88   `enrol` varchar(20) NOT NULL default '',
89   PRIMARY KEY  (`id`),
90   KEY `category` (`category`),
91   KEY `idnumber` (`idnumber`),
92   KEY `shortname` (`shortname`)  
93 ) TYPE=MyISAM;
94 # --------------------------------------------------------
96 #
97 # Table structure for table `course_categories`
98 #
100 CREATE TABLE `prefix_course_categories` (
101   `id` int(10) unsigned NOT NULL auto_increment,
102   `name` varchar(255) NOT NULL default '',
103   `description` text NOT NULL default '',
104   `parent` int(10) unsigned NOT NULL default '0',
105   `sortorder` int(10) unsigned NOT NULL default '0',
106   `coursecount` int(10) unsigned NOT NULL default '0',
107   `visible` tinyint(1) NOT NULL default '1',
108   `timemodified` int(10) unsigned NOT NULL default '0',
109   `depth` int(10) unsigned NOT NULL default '0',
110   `path` varchar(255) NOT NULL default '',
111   PRIMARY KEY  (`id`),
112   UNIQUE KEY `id` (`id`)
113 ) TYPE=MyISAM COMMENT='Course categories';
114 # --------------------------------------------------------
118 # Table structure for table `course_display`
121 CREATE TABLE `prefix_course_display` (
122   `id` int(10) unsigned NOT NULL auto_increment,
123   `course` int(10) unsigned NOT NULL default '0',
124   `userid` int(10) unsigned NOT NULL default '0',
125   `display` int(10) NOT NULL default '0',
126   PRIMARY KEY  (`id`),
127   UNIQUE KEY `id` (`id`),
128   KEY `courseuserid` (course,userid)
129 ) TYPE=MyISAM COMMENT='Stores info about how to display the course';
130 # --------------------------------------------------------
134 # Table structure for table `course_meta`
137 CREATE TABLE `prefix_course_meta` (
138  `id` int(10) unsigned NOT NULL auto_increment,
139  `parent_course` int(10) NOT NULL default 0,
140  `child_course` int(10) NOT NULL default 0,
141  PRIMARY KEY (`id`),
142  KEY `parent_course` (parent_course),
143  KEY `child_course` (child_course)
144 );
145 # --------------------------------------------------------
149 # Table structure for table `course_modules`
152 CREATE TABLE `prefix_course_modules` (
153   `id` int(10) unsigned NOT NULL auto_increment,
154   `course` int(10) unsigned NOT NULL default '0',
155   `module` int(10) unsigned NOT NULL default '0',
156   `instance` int(10) unsigned NOT NULL default '0',
157   `section` int(10) unsigned NOT NULL default '0',
158   `added` int(10) unsigned NOT NULL default '0',
159   `score` tinyint(4) NOT NULL default '0',
160   `indent` int(5) unsigned NOT NULL default '0',
161   `visible` tinyint(1) NOT NULL default '1',
162   `groupmode` tinyint(4) NOT NULL default '0',
163   PRIMARY KEY  (`id`),
164   UNIQUE KEY `id` (`id`),
165   KEY `visible` (`visible`),
166   KEY `course` (`course`),
167   KEY `module` (`module`),
168   KEY `instance` (`instance`)
169 ) TYPE=MyISAM;
170 # --------------------------------------------------------
173 # Table structure for table `course_sections`
176 CREATE TABLE `prefix_course_sections` (
177   `id` int(10) unsigned NOT NULL auto_increment,
178   `course` int(10) unsigned NOT NULL default '0',
179   `section` int(10) unsigned NOT NULL default '0',
180   `summary` text NOT NULL default '',
181   `sequence` text NOT NULL default '',
182   `visible` tinyint(1) NOT NULL default '1',
183   PRIMARY KEY  (`id`),
184   KEY `coursesection` (course,section)
185 ) TYPE=MyISAM;
186 # --------------------------------------------------------
188
189 # Table structure for table `course_request`
192 CREATE TABLE `prefix_course_request`  (
193   `id` int(10) unsigned NOT NULL auto_increment,
194   `fullname` varchar(254) NOT NULL default '',
195   `shortname` varchar(15) NOT NULL default '',
196   `summary` text NOT NULL default '',
197   `reason` text NOT NULL default '',
198   `requester` int(10) NOT NULL default 0,
199   `password` varchar(50) NOT NULL default '',
200   PRIMARY KEY (`id`),
201   KEY `shortname` (`shortname`)
202 ) TYPE=MyISAM;
203 # ---------------------------------------------------------
206 # Table structure for table `coursre_allowed_modules`
207
209 CREATE TABLE `prefix_course_allowed_modules` (
210    `id` int(10) unsigned NOT NULL auto_increment,
211    `course` int(10) unsigned NOT NULL default 0,
212    `module` int(10) unsigned NOT NULL default 0,
213    PRIMARY KEY (`id`),
214    KEY `course` (`course`),
215    KEY `module` (`module`)
216 ) TYPE=MyISAM;
218 ------------------------------------------------------------
221 # Table structure for table `event`
224 CREATE TABLE `prefix_event` (
225   `id` int(10) unsigned NOT NULL auto_increment,
226   `name` varchar(255) NOT NULL default '',
227   `description` text NOT NULL default '',
228   `format` int(4) unsigned NOT NULL default '0',
229   `courseid` int(10) unsigned NOT NULL default '0',
230   `groupid` int(10) unsigned NOT NULL default '0',
231   `userid` int(10) unsigned NOT NULL default '0',
232   `repeatid` int(10) unsigned NOT NULL default '0',
233   `modulename` varchar(20) NOT NULL default '',
234   `instance` int(10) unsigned NOT NULL default '0',
235   `eventtype` varchar(20) NOT NULL default '',
236   `timestart` int(10) unsigned NOT NULL default '0',
237   `timeduration` int(10) unsigned NOT NULL default '0',
238   `visible` tinyint(4) NOT NULL default '1',
239   `uuid` char(36) NOT NULL default '',
240   `sequence` int(10) unsigned NOT NULL default '1',
241   `timemodified` int(10) unsigned NOT NULL default '0',
242   PRIMARY KEY  (`id`),
243   UNIQUE KEY `id` (`id`),
244   KEY `courseid` (`courseid`),
245   KEY `userid` (`userid`),
246   KEY `timestart` (`timestart`),
247   KEY `timeduration` (`timeduration`)
248 ) TYPE=MyISAM COMMENT='For everything with a time associated to it';
249 # --------------------------------------------------------
252 # Table structure for table `cache_filters`
255 CREATE TABLE `prefix_cache_filters` (
256   `id` int(10) unsigned NOT NULL auto_increment,
257   `filter` varchar(32) NOT NULL default '',
258   `version` int(10) unsigned NOT NULL default '0',
259   `md5key` varchar(32) NOT NULL default '',
260   `rawtext` text NOT NULL default '',
261   `timemodified` int(10) unsigned NOT NULL default '0',
262   PRIMARY KEY  (`id`),
263   KEY `filtermd5key` (filter,md5key)
264 ) TYPE=MyISAM COMMENT='For keeping information about cached data';
265 # --------------------------------------------------------
269 # Table structure for table `cache_text`
272 CREATE TABLE `prefix_cache_text` (
273   `id` int(10) unsigned NOT NULL auto_increment,
274   `md5key` varchar(32) NOT NULL default '',
275   `formattedtext` longtext NOT NULL default '',
276   `timemodified` int(10) unsigned NOT NULL default '0',
277   PRIMARY KEY  (`id`),
278   KEY `md5key` (`md5key`)
279 ) TYPE=MyISAM COMMENT='For storing temporary copies of processed texts';
280 # --------------------------------------------------------
283
284 # Table structure for table `grade_category`
285
287 CREATE TABLE `prefix_grade_category` (
288   `id` int(10) unsigned NOT NULL auto_increment,
289   `name` varchar(64) default NULL,
290   `courseid` int(10) unsigned NOT NULL default '0',
291   `drop_x_lowest` int(10) unsigned NOT NULL default '0',
292   `bonus_points` int(10) unsigned NOT NULL default '0',
293   `hidden` int(10) unsigned NOT NULL default '0',
294   `weight` decimal(4,2) default '0.00',
295   PRIMARY KEY  (`id`),
296   KEY `courseid` (`courseid`)
297 ) TYPE=MyISAM ;
299 # --------------------------------------------------------
301
302 # Table structure for table `grade_exceptions`
303
305 CREATE TABLE `prefix_grade_exceptions` (
306   `id` int(10) unsigned NOT NULL auto_increment,
307   `courseid` int(10) unsigned NOT NULL default '0',
308   `grade_itemid` int(10) unsigned NOT NULL default '0',
309   `userid` int(10) unsigned NOT NULL default '0',
310   PRIMARY KEY  (`id`),
311   KEY `courseid` (`courseid`)
312 ) TYPE=MyISAM ;
314 # --------------------------------------------------------
316
317 # Table structure for table `grade_item`
318
320 CREATE TABLE `prefix_grade_item` (
321   `id` int(10) unsigned NOT NULL auto_increment,
322   `courseid` int(10) unsigned default NULL,
323   `category` int(10) unsigned default NULL,
324   `modid` int(10) unsigned default NULL,
325   `cminstance` int(10) unsigned default NULL,
326   `scale_grade` float(11,10) default '1.0000000000',
327   `extra_credit` int(10) unsigned NOT NULL default '0',
328   `sort_order` int(10) unsigned NOT NULL default '0',
329   PRIMARY KEY  (`id`),
330   KEY `courseid` (`courseid`)
331 ) TYPE=MyISAM ;
333 # --------------------------------------------------------
335
336 # Table structure for table `grade_letter`
337
339 CREATE TABLE `prefix_grade_letter` (
340   `id` int(10) unsigned NOT NULL auto_increment,
341   `courseid` int(10) unsigned NOT NULL default '0',
342   `letter` varchar(8) NOT NULL default 'NA',
343   `grade_high` decimal(4,2) NOT NULL default '100.00',
344   `grade_low` decimal(4,2) NOT NULL default '0.00',
345   PRIMARY KEY  (`id`),
346   KEY `courseid` (`courseid`)
347 ) TYPE=MyISAM ;
349 # --------------------------------------------------------
351
352 # Table structure for table `grade_preferences`
353
355 CREATE TABLE `prefix_grade_preferences` (
356   `id` int(10) unsigned NOT NULL auto_increment,
357   `courseid` int(10) unsigned default NULL,
358   `preference` int(10) NOT NULL default '0',
359   `value` int(10) NOT NULL default '0',
360   PRIMARY KEY  (`id`),
361   UNIQUE KEY `courseidpreference` (`courseid`,`preference`)
362 ) TYPE=MyISAM;
364 # --------------------------------------------------------
367 # Table structure for table `group`
370 CREATE TABLE `prefix_groups` (
371   `id` int(10) unsigned NOT NULL auto_increment,
372   `courseid` int(10) unsigned NOT NULL default '0',
373   `name` varchar(254) NOT NULL default '',
374   `description` text NOT NULL default '',
375   `password` varchar(50) NOT NULL default '',
376   `lang` varchar(10) NOT NULL default 'en',
377   `theme` varchar(50) NOT NULL default '',
378   `picture` int(10) unsigned NOT NULL default '0',
379   `hidepicture` int(2) unsigned NOT NULL default '0',
380   `timecreated` int(10) unsigned NOT NULL default '0',
381   `timemodified` int(10) unsigned NOT NULL default '0',
382   PRIMARY KEY  (`id`),
383   UNIQUE KEY `id` (`id`),
384   KEY `courseid` (`courseid`)
385 ) TYPE=MyISAM COMMENT='Each record is a group in a course.';
386 # --------------------------------------------------------
389 # Table structure for table `group_members`
392 CREATE TABLE `prefix_groups_members` (
393   `id` int(10) unsigned NOT NULL auto_increment,
394   `groupid` int(10) unsigned NOT NULL default '0',
395   `userid` int(10) unsigned NOT NULL default '0',
396   `timeadded` int(10) unsigned NOT NULL default '0',
397   PRIMARY KEY  (`id`),
398   UNIQUE KEY `id` (`id`),
399   KEY `groupid` (`groupid`),
400   KEY `userid` (`userid`)
401 ) TYPE=MyISAM COMMENT='Lists memberships of users to groups';
402 # --------------------------------------------------------
406 # Table structure for table `log`
409 CREATE TABLE `prefix_log` (
410   `id` int(10) unsigned NOT NULL auto_increment,
411   `time` int(10) unsigned NOT NULL default '0',
412   `userid` int(10) unsigned NOT NULL default '0',
413   `ip` varchar(15) NOT NULL default '',
414   `course` int(10) unsigned NOT NULL default '0',
415   `module` varchar(20) NOT NULL default '',
416   `cmid` int(10) unsigned NOT NULL default '0',
417   `action` varchar(15) NOT NULL default '',
418   `url` varchar(100) NOT NULL default '',
419   `info` varchar(255) NOT NULL default '',
420   PRIMARY KEY  (`id`),
421   KEY `timecoursemoduleaction` (time,course,module,action),
422   KEY `coursemoduleaction` (course,module,action),
423   KEY `courseuserid` (course,userid)
424 ) TYPE=MyISAM COMMENT='Every action is logged as far as possible.';
425 # --------------------------------------------------------
428 # Table structure for table `log_display`
431 CREATE TABLE `prefix_log_display` (
432   `module` varchar(20) NOT NULL default '',
433   `action` varchar(20) NOT NULL default '',
434   `mtable` varchar(20) NOT NULL default '',
435   `field` varchar(40) NOT NULL default ''
436 ) TYPE=MyISAM COMMENT='For a particular module/action, specifies a moodle table/field.';
437 # --------------------------------------------------------
440 # Table structure for table `message`
443 CREATE TABLE `prefix_message` (
444   `id` int(10) unsigned NOT NULL auto_increment,
445   `useridfrom` int(10) NOT NULL default '0',
446   `useridto` int(10) NOT NULL default '0',
447   `message` text NOT NULL default '',
448   `format` int(4) unsigned NOT NULL default '0',
449   `timecreated` int(10) NOT NULL default '0',
450   `messagetype` varchar(50) NOT NULL default '',
451   PRIMARY KEY  (`id`),
452   KEY `useridfrom` (`useridfrom`),
453   KEY `useridto` (`useridto`)
454 ) TYPE=MyISAM COMMENT='Stores all unread messages';
455 # --------------------------------------------------------
458 # Table structure for table `message_read`
461 CREATE TABLE `prefix_message_read` (
462   `id` int(10) unsigned NOT NULL auto_increment,
463   `useridfrom` int(10) NOT NULL default '0',
464   `useridto` int(10) NOT NULL default '0',
465   `message` text NOT NULL default '',
466   `format` int(4) unsigned NOT NULL default '0',
467   `timecreated` int(10) NOT NULL default '0',
468   `timeread` int(10) NOT NULL default '0',
469   `messagetype` varchar(50) NOT NULL default '',
470   `mailed` tinyint(1) NOT NULL default '0',
471   PRIMARY KEY  (`id`),
472   KEY `useridfrom` (`useridfrom`),
473   KEY `useridto` (`useridto`)
474 ) TYPE=MyISAM COMMENT='Stores all messages that have been read';
475 # --------------------------------------------------------
478 # Table structure for table `message_contacts`
481 CREATE TABLE `prefix_message_contacts` (
482   `id` int(10) unsigned NOT NULL auto_increment,
483   `userid` int(10) unsigned NOT NULL default '0',
484   `contactid` int(10) unsigned NOT NULL default '0',
485   `blocked` tinyint(1) unsigned NOT NULL default '0',
486   PRIMARY KEY  (`id`),
487   UNIQUE KEY `usercontact` (`userid`,`contactid`)
488 ) TYPE=MyISAM COMMENT='Maintains lists of relationships between users';
489 # --------------------------------------------------------
492 # Table structure for table `modules`
495 CREATE TABLE `prefix_modules` (
496   `id` int(10) unsigned NOT NULL auto_increment,
497   `name` varchar(20) NOT NULL default '',
498   `version` int(10) NOT NULL default '0',
499   `cron` int(10) unsigned NOT NULL default '0',
500   `lastcron` int(10) unsigned NOT NULL default '0',
501   `search` varchar(255) NOT NULL default '',
502   `visible` tinyint(1) NOT NULL default '1',
503   PRIMARY KEY  (`id`),
504   UNIQUE KEY `id` (`id`),
505   KEY `name` (`name`)
506 ) TYPE=MyISAM;
507 # --------------------------------------------------------
511 # Table structure for table `scale`
514 CREATE TABLE `prefix_scale` (
515   `id` int(10) unsigned NOT NULL auto_increment,
516   `courseid` int(10) unsigned NOT NULL default '0',
517   `userid` int(10) unsigned NOT NULL default '0',
518   `name` varchar(255) NOT NULL default '',
519   `scale` text NOT NULL default '',
520   `description` text NOT NULL default '',
521   `timemodified` int(10) unsigned NOT NULL default '0',
522   PRIMARY KEY  (id),
523   KEY `courseid` (`courseid`)
524 ) TYPE=MyISAM COMMENT='Defines grading scales';
525 # --------------------------------------------------------
529 # Table structure for table `sessions`
532 CREATE TABLE `prefix_sessions` (
533   `sesskey` char(32) NOT null default '',
534   `expiry` int(11) unsigned NOT null default '0',
535   `expireref` varchar(64) default '',
536   `data` text NOT null default '',
537   PRIMARY KEY (`sesskey`), 
538   KEY (`expiry`) 
539 ) TYPE=MyISAM COMMENT='Optional database session storage, not used by default';
540 # --------------------------------------------------------
544 # Table structure for table `timezone`
547 CREATE TABLE `prefix_timezone` (
548   `id` int(10) NOT NULL auto_increment,
549   `name` varchar(100) NOT NULL default '',
550   `year` int(11) NOT NULL default '0',
551   `rule` varchar(20) NOT NULL default '',
552   `gmtoff` int(11) NOT NULL default '0',
553   `dstoff` int(11) NOT NULL default '0',
554   `dst_month` tinyint(2) NOT NULL default '0',
555   `dst_startday` tinyint(3) NOT NULL default '0',
556   `dst_weekday` tinyint(3) NOT NULL default '0',
557   `dst_skipweeks` tinyint(3) NOT NULL default '0',
558   `dst_time` varchar(5) NOT NULL default '00:00',
559   `std_month` tinyint(2) NOT NULL default '0',
560   `std_startday` tinyint(3) NOT NULL default '0',
561   `std_weekday` tinyint(3) NOT NULL default '0',
562   `std_skipweeks` tinyint(3) NOT NULL default '0',
563   `std_time` varchar(5) NOT NULL default '00:00',
564   PRIMARY KEY (`id`)
565 ) TYPE=MyISAM COMMENT='Rules for calculating local wall clock time for users';
569 # Table structure for table `user`
571 # When changing prefix_user, you may need to update
572 # truncate_userinfo() in moodlelib.php
574 CREATE TABLE `prefix_user` (
575   `id` int(10) unsigned NOT NULL auto_increment,
576   `auth` varchar(20) NOT NULL default 'manual',
577   `confirmed` tinyint(1) NOT NULL default '0',
578   `policyagreed` tinyint(1) NOT NULL default '0',
579   `deleted` tinyint(1) NOT NULL default '0',
580   `username` varchar(100) NOT NULL default '',
581   `password` varchar(32) NOT NULL default '',
582   `idnumber` varchar(64) default NULL,
583   `firstname` varchar(20) NOT NULL default '',
584   `lastname` varchar(20) NOT NULL default '',
585   `email` varchar(100) NOT NULL default '',
586   `emailstop` tinyint(1) unsigned NOT NULL default '0',
587   `icq` varchar(15) default NULL,
588   `skype` varchar(50) default NULL,
589   `yahoo` varchar(50) default NULL,
590   `aim` varchar(50) default NULL,
591   `msn` varchar(50) default NULL,
592   `phone1` varchar(20) default NULL,
593   `phone2` varchar(20) default NULL,
594   `institution` varchar(40) default NULL,
595   `department` varchar(30) default NULL,
596   `address` varchar(70) default NULL,
597   `city` varchar(20) default NULL,
598   `country` char(2) default NULL,
599   `lang` varchar(10) default 'en',
600   `theme` varchar(50) NOT NULL default '',
601   `timezone` varchar(100) NOT NULL default '99',
602   `firstaccess` int(10) unsigned NOT NULL default '0',
603   `lastaccess` int(10) unsigned NOT NULL default '0',
604   `lastlogin` int(10) unsigned NOT NULL default '0',
605   `currentlogin` int(10) unsigned NOT NULL default '0',
606   `lastIP` varchar(15) default NULL,
607   `secret` varchar(15) default NULL,
608   `picture` tinyint(1) default NULL,
609   `url` varchar(255) default NULL,
610   `description` text NOT NULL default '',
611   `mailformat` tinyint(1) unsigned NOT NULL default '1',
612   `maildigest` tinyint(1) unsigned NOT NULL default '0',
613   `maildisplay` tinyint(2) unsigned NOT NULL default '2',
614   `htmleditor` tinyint(1) unsigned NOT NULL default '1',
615   `autosubscribe` tinyint(1) unsigned NOT NULL default '1',
616   `trackforums` tinyint(1) unsigned NOT NULL default '0',
617   `timemodified` int(10) unsigned NOT NULL default '0',
618   PRIMARY KEY  (`id`),
619   UNIQUE KEY `id` (`id`),
620   UNIQUE KEY `username` (`username`),
621   KEY `user_deleted` (`deleted`),
622   KEY `user_confirmed` (`confirmed`),
623   KEY `user_firstname` (`firstname`),
624   KEY `user_lastname` (`lastname`),
625   KEY `user_city` (`city`),
626   KEY `user_country` (`country`),
627   KEY `user_lastaccess` (`lastaccess`),
628   KEY `user_email` (`email`)
629 ) TYPE=MyISAM COMMENT='One record for each person';
631 ALTER TABLE `prefix_user` ADD INDEX `auth` (`auth`);
632 ALTER TABLE `prefix_user` ADD INDEX `idnumber` (`idnumber`);
633 # --------------------------------------------------------
636 # Table structure for table `user_admins`
639 CREATE TABLE `prefix_user_admins` (
640   `id` int(10) unsigned NOT NULL auto_increment,
641   `userid` int(10) unsigned NOT NULL default '0',
642   PRIMARY KEY  (`id`),
643   UNIQUE KEY `id` (`id`),
644   KEY `userid` (`userid`)
645 ) TYPE=MyISAM COMMENT='One record per administrator user';
646 # --------------------------------------------------------
651 # Table structure for table `user_preferences`
654 CREATE TABLE `prefix_user_preferences` (
655   `id` int(10) unsigned NOT NULL auto_increment,
656   `userid` int(10) unsigned NOT NULL default '0',
657   `name` varchar(50) NOT NULL default '',
658   `value` varchar(255) NOT NULL default '',
659   PRIMARY KEY  (`id`),
660   UNIQUE KEY `id` (`id`),
661   KEY `useridname` (userid,name)
662 ) TYPE=MyISAM COMMENT='Allows modules to store arbitrary user preferences';
663 # --------------------------------------------------------
668 # Table structure for table `user_students`
671 CREATE TABLE `prefix_user_students` (
672   `id` int(10) unsigned NOT NULL auto_increment,
673   `userid` int(10) unsigned NOT NULL default '0',
674   `course` int(10) unsigned NOT NULL default '0',
675   `timestart` int(10) unsigned NOT NULL default '0',
676   `timeend` int(10) unsigned NOT NULL default '0',
677   `time` int(10) unsigned NOT NULL default '0',
678   `timeaccess` int(10) unsigned NOT NULL default '0',
679   `enrol` varchar(20) NOT NULL default '',  
680   PRIMARY KEY  (`id`),
681   UNIQUE KEY `id` (`id`),
682   UNIQUE KEY `courseuserid` (course,userid),
683   KEY `userid` (userid),
684   KEY `enrol` (enrol),
685   KEY `timeaccess` (timeaccess)
686 ) TYPE=MyISAM;
687 # --------------------------------------------------------
690 # Table structure for table `user_teachers`
693 CREATE TABLE `prefix_user_teachers` (
694   `id` int(10) unsigned NOT NULL auto_increment,
695   `userid` int(10) unsigned NOT NULL default '0',
696   `course` int(10) unsigned NOT NULL default '0',
697   `authority` int(10) NOT NULL default '3',
698   `role` varchar(40) NOT NULL default '',
699   `editall` int(1) unsigned NOT NULL default '1',
700   `timestart` int(10) unsigned NOT NULL default '0',
701   `timeend` int(10) unsigned NOT NULL default '0',
702   `timemodified` int(10) unsigned NOT NULL default '0',
703   `timeaccess` int(10) unsigned NOT NULL default '0',
704   `enrol` varchar(20) NOT NULL default '',  
705   PRIMARY KEY  (`id`),
706   UNIQUE KEY `id` (`id`),
707   UNIQUE KEY `courseuserid` (course,userid),
708   KEY `userid` (userid),
709   KEY `enrol` (enrol)
710 ) TYPE=MyISAM COMMENT='One record per teacher per course';
713 # Table structure for table `user_admins`
716 CREATE TABLE `prefix_user_coursecreators` (
717   `id` int(10) unsigned NOT NULL auto_increment,
718   `userid` int(10) unsigned NOT NULL default '0',
719   PRIMARY KEY  (`id`),
720   UNIQUE KEY `id` (`id`),
721   KEY `userid` (`userid`)
722 ) TYPE=MyISAM COMMENT='One record per course creator';
726 # For debugging puposes, see admin/dbperformance.php
729 CREATE TABLE `adodb_logsql` (
730  `created` datetime NOT NULL default '0000-00-00 00:00:00',
731  `sql0` varchar(250) NOT NULL default '',
732  `sql1` text NOT NULL default '',
733  `params` text NOT NULL default '',
734  `tracer` text NOT NULL default '',
735  `timer` decimal(16,6) NOT NULL default '0'
736 );
738 CREATE TABLE `prefix_stats_daily` (
739    `id` int(10) unsigned NOT NULL auto_increment,
740    `courseid` int(10) unsigned NOT NULL default 0,
741    `timeend` int(10) unsigned NOT NULL default 0,
742    `students` int(10) unsigned NOT NULL default 0,
743    `teachers` int(10) unsigned NOT NULL default 0,
744    `activestudents` int(10) unsigned NOT NULL default 0,
745    `activeteachers` int(10) unsigned NOT NULL default 0,
746    `studentreads` int(10) unsigned NOT NULL default 0,
747    `studentwrites` int(10) unsigned NOT NULL default 0,
748    `teacherreads` int(10) unsigned NOT NULL default 0,
749    `teacherwrites` int(10) unsigned NOT NULL default 0,
750    `logins` int(10) unsigned NOT NULL default 0,
751    `uniquelogins` int(10) unsigned NOT NULL default 0,
752    PRIMARY KEY (`id`),
753    KEY `courseid` (`courseid`),
754    KEY `timeend` (`timeend`)
755 );
757 CREATE TABLE prefix_stats_weekly (
758    `id` int(10) unsigned NOT NULL auto_increment,
759    `courseid` int(10) unsigned NOT NULL default 0,
760    `timeend` int(10) unsigned NOT NULL default 0,
761    `students` int(10) unsigned NOT NULL default 0,
762    `teachers` int(10) unsigned NOT NULL default 0,
763    `activestudents` int(10) unsigned NOT NULL default 0,
764    `activeteachers` int(10) unsigned NOT NULL default 0,
765    `studentreads` int(10) unsigned NOT NULL default 0,
766    `studentwrites` int(10) unsigned NOT NULL default 0,
767    `teacherreads` int(10) unsigned NOT NULL default 0,
768    `teacherwrites` int(10) unsigned NOT NULL default 0,
769    `logins` int(10) unsigned NOT NULL default 0,
770    `uniquelogins` int(10) unsigned NOT NULL default 0,
771    PRIMARY KEY (`id`),
772    KEY `courseid` (`courseid`),
773    KEY `timeend` (`timeend`)     
774 );
776 CREATE TABLE prefix_stats_monthly (
777    `id` int(10) unsigned NOT NULL auto_increment,
778    `courseid` int(10) unsigned NOT NULL default 0,
779    `timeend` int(10) unsigned NOT NULL default 0,
780    `students` int(10) unsigned NOT NULL default 0,
781    `teachers` int(10) unsigned NOT NULL default 0,
782    `activestudents` int(10) unsigned NOT NULL default 0,
783    `activeteachers` int(10) unsigned NOT NULL default 0,
784    `studentreads` int(10) unsigned NOT NULL default 0,
785    `studentwrites` int(10) unsigned NOT NULL default 0,
786    `teacherreads` int(10) unsigned NOT NULL default 0,
787    `teacherwrites` int(10) unsigned NOT NULL default 0,
788    `logins` int(10) unsigned NOT NULL default 0,
789    `uniquelogins` int(10) unsigned NOT NULL default 0,
790    PRIMARY KEY (`id`),
791    KEY `courseid` (`courseid`),
792    KEY `timeend` (`timeend`)     
793 );
795 CREATE TABLE prefix_stats_user_daily (
796    `id` int(10) unsigned NOT NULL auto_increment,
797    `courseid` int(10) unsigned NOT NULL default 0,
798    `userid` int(10) unsigned NOT NULL default 0,
799    `roleid` int(10) unsigned NOT NULL default 0,
800    `timeend` int(10) unsigned NOT NULL default 0,
801    `reads` int(10) unsigned NOT NULL default 0,
802    `writes` int(10) unsigned NOT NULL default 0,
803    `stattype` varchar(30) NOT NULL default '',
804    PRIMARY KEY (`id`),
805    KEY `courseid` (`courseid`),
806    KEY `userid` (`userid`),
807    KEY `roleid` (`roleid`),
808    KEY `timeend` (`timeend`)    
809 );
811 CREATE TABLE prefix_stats_user_weekly (
812    `id` int(10) unsigned NOT NULL auto_increment,
813    `courseid` int(10) unsigned NOT NULL default 0,
814    `userid` int(10) unsigned NOT NULL default 0,
815    `roleid` int(10) unsigned NOT NULL default 0,
816    `timeend` int(10) unsigned NOT NULL default 0,
817    `reads` int(10) unsigned NOT NULL default 0,
818    `writes` int(10) unsigned NOT NULL default 0,
819    `stattype` varchar(30) NOT NULL default '',
820    PRIMARY KEY (`id`),
821    KEY `courseid` (`courseid`),
822    KEY `userid` (`userid`),
823    KEY `roleid` (`roleid`),
824    KEY `timeend` (`timeend`)    
825 );
827 CREATE TABLE prefix_stats_user_monthly (
828    `id` int(10) unsigned NOT NULL auto_increment,
829    `courseid` int(10) unsigned NOT NULL default 0,
830    `userid` int(10) unsigned NOT NULL default 0,
831    `roleid` int(10) unsigned NOT NULL default 0,
832    `timeend` int(10) unsigned NOT NULL default 0,
833    `reads` int(10) unsigned NOT NULL default 0,
834    `writes` int(10) unsigned NOT NULL default 0,
835    `stattype` varchar(30) NOT NULL default '',
836    PRIMARY KEY (`id`),
837    KEY `courseid` (`courseid`),
838    KEY `userid` (`userid`),
839    KEY `roleid` (`roleid`),
840    KEY `timeend` (`timeend`)    
841 );
844 # Table structure for BRAND NEW MOODLE POST table `prefix_post`
846 CREATE TABLE prefix_post (
847   `id` int(11) NOT NULL auto_increment,
848   `userid` int(11) NOT NULL default '0',
849   `courseid` int(11) NOT NULL default'0',
850   `groupid` int(11) NOT NULL default'0',
851   `moduleid` int(11) NOT NULL default'0',
852   `coursemoduleid` int(11) NOT NULL default'0',
853   `subject` varchar(128) NOT NULL default '',
854   `summary` longtext,
855   `content` longtext,
856   `uniquehash` varchar(128) NOT NULL default '',
857   `rating` int(11) NOT NULL default'0',
858   `format` int(11) NOT NULL default'0',
859   `publishstate` enum('draft','site','public') NOT NULL default 'draft',
860   `lastmodified` int(10) NOT NULL default '0',
861   `created` int(10) NOT NULL default '0',
862   PRIMARY KEY  (`id`),
863   UNIQUE KEY `id_user_idx` (`id`, `userid`),
864   KEY `post_lastmodified_idx` (`lastmodified`),
865   KEY `post_subject_idx` (`subject`)
866 ) TYPE=MyISAM  COMMENT='New moodle post table. Holds data posts such as forum entries or blog entries.';
868 # tags are not limited to blogs
869 CREATE TABLE prefix_tags (
870   `id` int(11) NOT NULL auto_increment,
871   `type` varchar(255) NOT NULL default 'official',
872   `userid` int(11) NOT NULL default'0',
873   `text` varchar(255) NOT NULL default '',
874   PRIMARY KEY  (`id`)
875 ) TYPE=MyISAM COMMENT ='tags structure for moodle.';
877 # instance of a tag for a blog
878 CREATE TABLE prefix_blog_tag_instance (
879   `id` int(11) NOT NULL auto_increment,
880   `entryid` int(11) NOT NULL default'0',
881   `tagid` int(11) NOT NULL default'0',
882   `groupid` int(11) NOT NULL default'0',
883   `courseid` int(11) NOT NULL default'0',
884   `userid` int(11) NOT NULL default'0',
885   PRIMARY KEY  (`id`)
886 ) TYPE=MyISAM COMMENT ='tag instance for blogs.';
889 INSERT INTO prefix_log_display VALUES ('user', 'view', 'user', 'CONCAT(firstname," ",lastname)');
890 INSERT INTO prefix_log_display VALUES ('course', 'user report', 'user', 'CONCAT(firstname," ",lastname)');
891 INSERT INTO prefix_log_display VALUES ('course', 'view', 'course', 'fullname');
892 INSERT INTO prefix_log_display VALUES ('course', 'update', 'course', 'fullname');
893 INSERT INTO prefix_log_display VALUES ('course', 'enrol', 'course', 'fullname');
894 INSERT INTO prefix_log_display VALUES ('message', 'write', 'user', 'CONCAT(firstname," ",lastname)');
895 INSERT INTO prefix_log_display VALUES ('message', 'read', 'user', 'CONCAT(firstname," ",lastname)');
896 INSERT INTO prefix_log_display VALUES ('message', 'add contact', 'user', 'CONCAT(firstname," ",lastname)');
897 INSERT INTO prefix_log_display VALUES ('message', 'remove contact', 'user', 'CONCAT(firstname," ",lastname)');
898 INSERT INTO prefix_log_display VALUES ('message', 'block contact', 'user', 'CONCAT(firstname," ",lastname)');
899 INSERT INTO prefix_log_display VALUES ('message', 'unblock contact', 'user', 'CONCAT(firstname," ",lastname)');