]> git.mxchange.org Git - friendica.git/blob - database.sql
Merge pull request #3630 from annando/dba-2
[friendica.git] / database.sql
1 -- ------------------------------------------
2 -- Friendica 3.5.3-dev (Asparagus)
3 -- DB_UPDATE_VERSION 1234
4 -- ------------------------------------------
5
6
7 --
8 -- TABLE addon
9 --
10 CREATE TABLE IF NOT EXISTS `addon` (
11         `id` int(11) NOT NULL auto_increment,
12         `name` varchar(190) NOT NULL DEFAULT '',
13         `version` varchar(255) NOT NULL DEFAULT '',
14         `installed` tinyint(1) NOT NULL DEFAULT 0,
15         `hidden` tinyint(1) NOT NULL DEFAULT 0,
16         `timestamp` bigint(20) NOT NULL DEFAULT 0,
17         `plugin_admin` tinyint(1) NOT NULL DEFAULT 0,
18          PRIMARY KEY(`id`),
19          UNIQUE INDEX `name` (`name`)
20 ) DEFAULT COLLATE utf8mb4_general_ci;
21
22 --
23 -- TABLE attach
24 --
25 CREATE TABLE IF NOT EXISTS `attach` (
26         `id` int(11) NOT NULL auto_increment,
27         `uid` int(11) NOT NULL DEFAULT 0,
28         `hash` varchar(64) NOT NULL DEFAULT '',
29         `filename` varchar(255) NOT NULL DEFAULT '',
30         `filetype` varchar(64) NOT NULL DEFAULT '',
31         `filesize` int(11) NOT NULL DEFAULT 0,
32         `data` longblob NOT NULL,
33         `created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
34         `edited` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
35         `allow_cid` mediumtext,
36         `allow_gid` mediumtext,
37         `deny_cid` mediumtext,
38         `deny_gid` mediumtext,
39          PRIMARY KEY(`id`)
40 ) DEFAULT COLLATE utf8mb4_general_ci;
41
42 --
43 -- TABLE auth_codes
44 --
45 CREATE TABLE IF NOT EXISTS `auth_codes` (
46         `id` varchar(40) NOT NULL,
47         `client_id` varchar(20) NOT NULL DEFAULT '',
48         `redirect_uri` varchar(200) NOT NULL DEFAULT '',
49         `expires` int(11) NOT NULL DEFAULT 0,
50         `scope` varchar(250) NOT NULL DEFAULT '',
51          PRIMARY KEY(`id`)
52 ) DEFAULT COLLATE utf8mb4_general_ci;
53
54 --
55 -- TABLE cache
56 --
57 CREATE TABLE IF NOT EXISTS `cache` (
58         `k` varbinary(255) NOT NULL,
59         `v` mediumtext,
60         `expire_mode` int(11) NOT NULL DEFAULT 0,
61         `updated` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
62          PRIMARY KEY(`k`),
63          INDEX `expire_mode_updated` (`expire_mode`,`updated`)
64 ) DEFAULT COLLATE utf8mb4_general_ci;
65
66 --
67 -- TABLE challenge
68 --
69 CREATE TABLE IF NOT EXISTS `challenge` (
70         `id` int(10) unsigned NOT NULL auto_increment,
71         `challenge` varchar(255) NOT NULL DEFAULT '',
72         `dfrn-id` varchar(255) NOT NULL DEFAULT '',
73         `expire` int(11) NOT NULL DEFAULT 0,
74         `type` varchar(255) NOT NULL DEFAULT '',
75         `last_update` varchar(255) NOT NULL DEFAULT '',
76          PRIMARY KEY(`id`)
77 ) DEFAULT COLLATE utf8mb4_general_ci;
78
79 --
80 -- TABLE clients
81 --
82 CREATE TABLE IF NOT EXISTS `clients` (
83         `client_id` varchar(20) NOT NULL,
84         `pw` varchar(20) NOT NULL DEFAULT '',
85         `redirect_uri` varchar(200) NOT NULL DEFAULT '',
86         `name` text,
87         `icon` text,
88         `uid` int(11) NOT NULL DEFAULT 0,
89          PRIMARY KEY(`client_id`)
90 ) DEFAULT COLLATE utf8mb4_general_ci;
91
92 --
93 -- TABLE config
94 --
95 CREATE TABLE IF NOT EXISTS `config` (
96         `id` int(10) unsigned NOT NULL auto_increment,
97         `cat` varbinary(255) NOT NULL DEFAULT '',
98         `k` varbinary(255) NOT NULL DEFAULT '',
99         `v` mediumtext,
100          PRIMARY KEY(`id`),
101          UNIQUE INDEX `cat_k` (`cat`,`k`)
102 ) DEFAULT COLLATE utf8mb4_general_ci;
103
104 --
105 -- TABLE contact
106 --
107 CREATE TABLE IF NOT EXISTS `contact` (
108         `id` int(11) NOT NULL auto_increment,
109         `uid` int(11) NOT NULL DEFAULT 0,
110         `created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
111         `self` tinyint(1) NOT NULL DEFAULT 0,
112         `remote_self` tinyint(1) NOT NULL DEFAULT 0,
113         `rel` tinyint(1) NOT NULL DEFAULT 0,
114         `duplex` tinyint(1) NOT NULL DEFAULT 0,
115         `network` varchar(255) NOT NULL DEFAULT '',
116         `name` varchar(255) NOT NULL DEFAULT '',
117         `nick` varchar(255) NOT NULL DEFAULT '',
118         `location` varchar(255) NOT NULL DEFAULT '',
119         `about` text,
120         `keywords` text,
121         `gender` varchar(32) NOT NULL DEFAULT '',
122         `xmpp` varchar(255) NOT NULL DEFAULT '',
123         `attag` varchar(255) NOT NULL DEFAULT '',
124         `avatar` varchar(255) NOT NULL DEFAULT '',
125         `photo` text,
126         `thumb` text,
127         `micro` text,
128         `site-pubkey` text,
129         `issued-id` varchar(255) NOT NULL DEFAULT '',
130         `dfrn-id` varchar(255) NOT NULL DEFAULT '',
131         `url` varchar(255) NOT NULL DEFAULT '',
132         `nurl` varchar(255) NOT NULL DEFAULT '',
133         `addr` varchar(255) NOT NULL DEFAULT '',
134         `alias` varchar(255) NOT NULL DEFAULT '',
135         `pubkey` text,
136         `prvkey` text,
137         `batch` varchar(255) NOT NULL DEFAULT '',
138         `request` text,
139         `notify` text,
140         `poll` text,
141         `confirm` text,
142         `poco` text,
143         `aes_allow` tinyint(1) NOT NULL DEFAULT 0,
144         `ret-aes` tinyint(1) NOT NULL DEFAULT 0,
145         `usehub` tinyint(1) NOT NULL DEFAULT 0,
146         `subhub` tinyint(1) NOT NULL DEFAULT 0,
147         `hub-verify` varchar(255) NOT NULL DEFAULT '',
148         `last-update` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
149         `success_update` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
150         `failure_update` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
151         `name-date` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
152         `uri-date` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
153         `avatar-date` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
154         `term-date` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
155         `last-item` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
156         `priority` tinyint(3) NOT NULL DEFAULT 0,
157         `blocked` tinyint(1) NOT NULL DEFAULT 1,
158         `readonly` tinyint(1) NOT NULL DEFAULT 0,
159         `writable` tinyint(1) NOT NULL DEFAULT 0,
160         `forum` tinyint(1) NOT NULL DEFAULT 0,
161         `prv` tinyint(1) NOT NULL DEFAULT 0,
162         `contact-type` int(11) NOT NULL DEFAULT 0,
163         `hidden` tinyint(1) NOT NULL DEFAULT 0,
164         `archive` tinyint(1) NOT NULL DEFAULT 0,
165         `pending` tinyint(1) NOT NULL DEFAULT 1,
166         `rating` tinyint(1) NOT NULL DEFAULT 0,
167         `reason` text,
168         `closeness` tinyint(2) NOT NULL DEFAULT 99,
169         `info` mediumtext,
170         `profile-id` int(11) NOT NULL DEFAULT 0,
171         `bdyear` varchar(4) NOT NULL DEFAULT '',
172         `bd` date NOT NULL DEFAULT '0001-01-01',
173         `notify_new_posts` tinyint(1) NOT NULL DEFAULT 0,
174         `fetch_further_information` tinyint(1) NOT NULL DEFAULT 0,
175         `ffi_keyword_blacklist` text,
176          PRIMARY KEY(`id`),
177          INDEX `uid_name` (`uid`,`name`(190)),
178          INDEX `self_uid` (`self`,`uid`),
179          INDEX `alias_uid` (`alias`(32),`uid`),
180          INDEX `pending_uid` (`pending`,`uid`),
181          INDEX `blocked_uid` (`blocked`,`uid`),
182          INDEX `uid_rel_network_poll` (`uid`,`rel`,`network`(4),`poll`(64),`archive`),
183          INDEX `uid_network_batch` (`uid`,`network`(4),`batch`(64)),
184          INDEX `addr_uid` (`addr`(32),`uid`),
185          INDEX `nurl_uid` (`nurl`(32),`uid`),
186          INDEX `nick_uid` (`nick`(32),`uid`),
187          INDEX `dfrn-id` (`dfrn-id`),
188          INDEX `issued-id` (`issued-id`)
189 ) DEFAULT COLLATE utf8mb4_general_ci;
190
191 --
192 -- TABLE conv
193 --
194 CREATE TABLE IF NOT EXISTS `conv` (
195         `id` int(10) unsigned NOT NULL auto_increment,
196         `guid` varchar(255) NOT NULL DEFAULT '',
197         `recips` text,
198         `uid` int(11) NOT NULL DEFAULT 0,
199         `creator` varchar(255) NOT NULL DEFAULT '',
200         `created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
201         `updated` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
202         `subject` text,
203          PRIMARY KEY(`id`),
204          INDEX `uid` (`uid`)
205 ) DEFAULT COLLATE utf8mb4_general_ci;
206
207 --
208 -- TABLE conversation
209 --
210 CREATE TABLE IF NOT EXISTS `conversation` (
211         `item-uri` varbinary(255) NOT NULL,
212         `reply-to-uri` varbinary(255) NOT NULL DEFAULT '',
213         `conversation-uri` varbinary(255) NOT NULL DEFAULT '',
214         `conversation-href` varbinary(255) NOT NULL DEFAULT '',
215         `protocol` tinyint(1) unsigned NOT NULL DEFAULT 0,
216         `source` mediumtext,
217         `received` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
218          PRIMARY KEY(`item-uri`),
219          INDEX `conversation-uri` (`conversation-uri`)
220 ) DEFAULT COLLATE utf8mb4_general_ci;
221
222 --
223 -- TABLE event
224 --
225 CREATE TABLE IF NOT EXISTS `event` (
226         `id` int(11) NOT NULL auto_increment,
227         `guid` varchar(255) NOT NULL DEFAULT '',
228         `uid` int(11) NOT NULL DEFAULT 0,
229         `cid` int(11) NOT NULL DEFAULT 0,
230         `uri` varchar(255) NOT NULL DEFAULT '',
231         `created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
232         `edited` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
233         `start` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
234         `finish` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
235         `summary` text,
236         `desc` text,
237         `location` text,
238         `type` varchar(255) NOT NULL DEFAULT '',
239         `nofinish` tinyint(1) NOT NULL DEFAULT 0,
240         `adjust` tinyint(1) NOT NULL DEFAULT 1,
241         `ignore` tinyint(1) unsigned NOT NULL DEFAULT 0,
242         `allow_cid` mediumtext,
243         `allow_gid` mediumtext,
244         `deny_cid` mediumtext,
245         `deny_gid` mediumtext,
246          PRIMARY KEY(`id`),
247          INDEX `uid_start` (`uid`,`start`)
248 ) DEFAULT COLLATE utf8mb4_general_ci;
249
250 --
251 -- TABLE fcontact
252 --
253 CREATE TABLE IF NOT EXISTS `fcontact` (
254         `id` int(10) unsigned NOT NULL auto_increment,
255         `guid` varchar(255) NOT NULL DEFAULT '',
256         `url` varchar(255) NOT NULL DEFAULT '',
257         `name` varchar(255) NOT NULL DEFAULT '',
258         `photo` varchar(255) NOT NULL DEFAULT '',
259         `request` varchar(255) NOT NULL DEFAULT '',
260         `nick` varchar(255) NOT NULL DEFAULT '',
261         `addr` varchar(255) NOT NULL DEFAULT '',
262         `batch` varchar(255) NOT NULL DEFAULT '',
263         `notify` varchar(255) NOT NULL DEFAULT '',
264         `poll` varchar(255) NOT NULL DEFAULT '',
265         `confirm` varchar(255) NOT NULL DEFAULT '',
266         `priority` tinyint(1) NOT NULL DEFAULT 0,
267         `network` varchar(32) NOT NULL DEFAULT '',
268         `alias` varchar(255) NOT NULL DEFAULT '',
269         `pubkey` text,
270         `updated` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
271          PRIMARY KEY(`id`),
272          INDEX `addr` (`addr`(32)),
273          UNIQUE INDEX `url` (`url`(190))
274 ) DEFAULT COLLATE utf8mb4_general_ci;
275
276 --
277 -- TABLE ffinder
278 --
279 CREATE TABLE IF NOT EXISTS `ffinder` (
280         `id` int(10) unsigned NOT NULL auto_increment,
281         `uid` int(10) unsigned NOT NULL DEFAULT 0,
282         `cid` int(10) unsigned NOT NULL DEFAULT 0,
283         `fid` int(10) unsigned NOT NULL DEFAULT 0,
284          PRIMARY KEY(`id`)
285 ) DEFAULT COLLATE utf8mb4_general_ci;
286
287 --
288 -- TABLE fserver
289 --
290 CREATE TABLE IF NOT EXISTS `fserver` (
291         `id` int(11) NOT NULL auto_increment,
292         `server` varchar(255) NOT NULL DEFAULT '',
293         `posturl` varchar(255) NOT NULL DEFAULT '',
294         `key` text,
295          PRIMARY KEY(`id`),
296          INDEX `server` (`server`(32))
297 ) DEFAULT COLLATE utf8mb4_general_ci;
298
299 --
300 -- TABLE fsuggest
301 --
302 CREATE TABLE IF NOT EXISTS `fsuggest` (
303         `id` int(11) NOT NULL auto_increment,
304         `uid` int(11) NOT NULL DEFAULT 0,
305         `cid` int(11) NOT NULL DEFAULT 0,
306         `name` varchar(255) NOT NULL DEFAULT '',
307         `url` varchar(255) NOT NULL DEFAULT '',
308         `request` varchar(255) NOT NULL DEFAULT '',
309         `photo` varchar(255) NOT NULL DEFAULT '',
310         `note` text,
311         `created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
312          PRIMARY KEY(`id`)
313 ) DEFAULT COLLATE utf8mb4_general_ci;
314
315 --
316 -- TABLE gcign
317 --
318 CREATE TABLE IF NOT EXISTS `gcign` (
319         `id` int(11) NOT NULL auto_increment,
320         `uid` int(11) NOT NULL DEFAULT 0,
321         `gcid` int(11) NOT NULL DEFAULT 0,
322          PRIMARY KEY(`id`),
323          INDEX `uid` (`uid`),
324          INDEX `gcid` (`gcid`)
325 ) DEFAULT COLLATE utf8mb4_general_ci;
326
327 --
328 -- TABLE gcontact
329 --
330 CREATE TABLE IF NOT EXISTS `gcontact` (
331         `id` int(10) unsigned NOT NULL auto_increment,
332         `name` varchar(255) NOT NULL DEFAULT '',
333         `nick` varchar(255) NOT NULL DEFAULT '',
334         `url` varchar(255) NOT NULL DEFAULT '',
335         `nurl` varchar(255) NOT NULL DEFAULT '',
336         `photo` varchar(255) NOT NULL DEFAULT '',
337         `connect` varchar(255) NOT NULL DEFAULT '',
338         `created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
339         `updated` datetime DEFAULT '0001-01-01 00:00:00',
340         `last_contact` datetime DEFAULT '0001-01-01 00:00:00',
341         `last_failure` datetime DEFAULT '0001-01-01 00:00:00',
342         `location` varchar(255) NOT NULL DEFAULT '',
343         `about` text,
344         `keywords` text,
345         `gender` varchar(32) NOT NULL DEFAULT '',
346         `birthday` varchar(32) NOT NULL DEFAULT '0001-01-01',
347         `community` tinyint(1) NOT NULL DEFAULT 0,
348         `contact-type` tinyint(1) NOT NULL DEFAULT -1,
349         `hide` tinyint(1) NOT NULL DEFAULT 0,
350         `nsfw` tinyint(1) NOT NULL DEFAULT 0,
351         `network` varchar(255) NOT NULL DEFAULT '',
352         `addr` varchar(255) NOT NULL DEFAULT '',
353         `notify` text,
354         `alias` varchar(255) NOT NULL DEFAULT '',
355         `generation` tinyint(3) NOT NULL DEFAULT 0,
356         `server_url` varchar(255) NOT NULL DEFAULT '',
357          PRIMARY KEY(`id`),
358          UNIQUE INDEX `nurl` (`nurl`(190)),
359          INDEX `name` (`name`(64)),
360          INDEX `nick` (`nick`(32)),
361          INDEX `addr` (`addr`(64)),
362          INDEX `hide_network_updated` (`hide`,`network`(4),`updated`),
363          INDEX `updated` (`updated`)
364 ) DEFAULT COLLATE utf8mb4_general_ci;
365
366 --
367 -- TABLE glink
368 --
369 CREATE TABLE IF NOT EXISTS `glink` (
370         `id` int(10) unsigned NOT NULL auto_increment,
371         `cid` int(11) NOT NULL DEFAULT 0,
372         `uid` int(11) NOT NULL DEFAULT 0,
373         `gcid` int(11) NOT NULL DEFAULT 0,
374         `zcid` int(11) NOT NULL DEFAULT 0,
375         `updated` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
376          PRIMARY KEY(`id`),
377          UNIQUE INDEX `cid_uid_gcid_zcid` (`cid`,`uid`,`gcid`,`zcid`),
378          INDEX `gcid` (`gcid`)
379 ) DEFAULT COLLATE utf8mb4_general_ci;
380
381 --
382 -- TABLE group
383 --
384 CREATE TABLE IF NOT EXISTS `group` (
385         `id` int(10) unsigned NOT NULL auto_increment,
386         `uid` int(10) unsigned NOT NULL DEFAULT 0,
387         `visible` tinyint(1) NOT NULL DEFAULT 0,
388         `deleted` tinyint(1) NOT NULL DEFAULT 0,
389         `name` varchar(255) NOT NULL DEFAULT '',
390          PRIMARY KEY(`id`),
391          INDEX `uid` (`uid`)
392 ) DEFAULT COLLATE utf8mb4_general_ci;
393
394 --
395 -- TABLE group_member
396 --
397 CREATE TABLE IF NOT EXISTS `group_member` (
398         `id` int(10) unsigned NOT NULL auto_increment,
399         `uid` int(10) unsigned NOT NULL DEFAULT 0,
400         `gid` int(10) unsigned NOT NULL DEFAULT 0,
401         `contact-id` int(10) unsigned NOT NULL DEFAULT 0,
402          PRIMARY KEY(`id`),
403          INDEX `contactid` (`contact-id`),
404          INDEX `gid_contactid` (`gid`,`contact-id`),
405          UNIQUE INDEX `uid_gid_contactid` (`uid`,`gid`,`contact-id`)
406 ) DEFAULT COLLATE utf8mb4_general_ci;
407
408 --
409 -- TABLE gserver
410 --
411 CREATE TABLE IF NOT EXISTS `gserver` (
412         `id` int(10) unsigned NOT NULL auto_increment,
413         `url` varchar(255) NOT NULL DEFAULT '',
414         `nurl` varchar(255) NOT NULL DEFAULT '',
415         `version` varchar(255) NOT NULL DEFAULT '',
416         `site_name` varchar(255) NOT NULL DEFAULT '',
417         `info` text,
418         `register_policy` tinyint(1) NOT NULL DEFAULT 0,
419         `poco` varchar(255) NOT NULL DEFAULT '',
420         `noscrape` varchar(255) NOT NULL DEFAULT '',
421         `network` varchar(32) NOT NULL DEFAULT '',
422         `platform` varchar(255) NOT NULL DEFAULT '',
423         `created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
424         `last_poco_query` datetime DEFAULT '0001-01-01 00:00:00',
425         `last_contact` datetime DEFAULT '0001-01-01 00:00:00',
426         `last_failure` datetime DEFAULT '0001-01-01 00:00:00',
427          PRIMARY KEY(`id`),
428          UNIQUE INDEX `nurl` (`nurl`(190))
429 ) DEFAULT COLLATE utf8mb4_general_ci;
430
431 --
432 -- TABLE hook
433 --
434 CREATE TABLE IF NOT EXISTS `hook` (
435         `id` int(11) NOT NULL auto_increment,
436         `hook` varchar(255) NOT NULL DEFAULT '',
437         `file` varchar(255) NOT NULL DEFAULT '',
438         `function` varchar(255) NOT NULL DEFAULT '',
439         `priority` int(11) unsigned NOT NULL DEFAULT 0,
440          PRIMARY KEY(`id`),
441          UNIQUE INDEX `hook_file_function` (`hook`(50),`file`(80),`function`(60))
442 ) DEFAULT COLLATE utf8mb4_general_ci;
443
444 --
445 -- TABLE intro
446 --
447 CREATE TABLE IF NOT EXISTS `intro` (
448         `id` int(10) unsigned NOT NULL auto_increment,
449         `uid` int(10) unsigned NOT NULL DEFAULT 0,
450         `fid` int(11) NOT NULL DEFAULT 0,
451         `contact-id` int(11) NOT NULL DEFAULT 0,
452         `knowyou` tinyint(1) NOT NULL DEFAULT 0,
453         `duplex` tinyint(1) NOT NULL DEFAULT 0,
454         `note` text,
455         `hash` varchar(255) NOT NULL DEFAULT '',
456         `datetime` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
457         `blocked` tinyint(1) NOT NULL DEFAULT 1,
458         `ignore` tinyint(1) NOT NULL DEFAULT 0,
459          PRIMARY KEY(`id`)
460 ) DEFAULT COLLATE utf8mb4_general_ci;
461
462 --
463 -- TABLE item
464 --
465 CREATE TABLE IF NOT EXISTS `item` (
466         `id` int(10) unsigned NOT NULL auto_increment,
467         `guid` varchar(255) NOT NULL DEFAULT '',
468         `uri` varchar(255) NOT NULL DEFAULT '',
469         `uid` int(10) unsigned NOT NULL DEFAULT 0,
470         `contact-id` int(11) NOT NULL DEFAULT 0,
471         `gcontact-id` int(11) unsigned NOT NULL DEFAULT 0,
472         `type` varchar(255) NOT NULL DEFAULT '',
473         `wall` tinyint(1) NOT NULL DEFAULT 0,
474         `gravity` tinyint(1) NOT NULL DEFAULT 0,
475         `parent` int(10) unsigned NOT NULL DEFAULT 0,
476         `parent-uri` varchar(255) NOT NULL DEFAULT '',
477         `extid` varchar(255) NOT NULL DEFAULT '',
478         `thr-parent` varchar(255) NOT NULL DEFAULT '',
479         `created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
480         `edited` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
481         `commented` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
482         `received` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
483         `changed` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
484         `owner-id` int(11) NOT NULL DEFAULT 0,
485         `owner-name` varchar(255) NOT NULL DEFAULT '',
486         `owner-link` varchar(255) NOT NULL DEFAULT '',
487         `owner-avatar` varchar(255) NOT NULL DEFAULT '',
488         `author-id` int(11) NOT NULL DEFAULT 0,
489         `author-name` varchar(255) NOT NULL DEFAULT '',
490         `author-link` varchar(255) NOT NULL DEFAULT '',
491         `author-avatar` varchar(255) NOT NULL DEFAULT '',
492         `title` varchar(255) NOT NULL DEFAULT '',
493         `body` mediumtext,
494         `app` varchar(255) NOT NULL DEFAULT '',
495         `verb` varchar(255) NOT NULL DEFAULT '',
496         `object-type` varchar(255) NOT NULL DEFAULT '',
497         `object` text,
498         `target-type` varchar(255) NOT NULL DEFAULT '',
499         `target` text,
500         `postopts` text,
501         `plink` varchar(255) NOT NULL DEFAULT '',
502         `resource-id` varchar(255) NOT NULL DEFAULT '',
503         `event-id` int(11) NOT NULL DEFAULT 0,
504         `tag` mediumtext,
505         `attach` mediumtext,
506         `inform` mediumtext,
507         `file` mediumtext,
508         `location` varchar(255) NOT NULL DEFAULT '',
509         `coord` varchar(255) NOT NULL DEFAULT '',
510         `allow_cid` mediumtext,
511         `allow_gid` mediumtext,
512         `deny_cid` mediumtext,
513         `deny_gid` mediumtext,
514         `private` tinyint(1) NOT NULL DEFAULT 0,
515         `pubmail` tinyint(1) NOT NULL DEFAULT 0,
516         `moderated` tinyint(1) NOT NULL DEFAULT 0,
517         `visible` tinyint(1) NOT NULL DEFAULT 0,
518         `spam` tinyint(1) NOT NULL DEFAULT 0,
519         `starred` tinyint(1) NOT NULL DEFAULT 0,
520         `bookmark` tinyint(1) NOT NULL DEFAULT 0,
521         `unseen` tinyint(1) NOT NULL DEFAULT 1,
522         `deleted` tinyint(1) NOT NULL DEFAULT 0,
523         `origin` tinyint(1) NOT NULL DEFAULT 0,
524         `forum_mode` tinyint(1) NOT NULL DEFAULT 0,
525         `last-child` tinyint(1) unsigned NOT NULL DEFAULT 1,
526         `mention` tinyint(1) NOT NULL DEFAULT 0,
527         `network` varchar(32) NOT NULL DEFAULT '',
528         `rendered-hash` varchar(32) NOT NULL DEFAULT '',
529         `rendered-html` mediumtext,
530         `global` tinyint(1) NOT NULL DEFAULT 0,
531          PRIMARY KEY(`id`),
532          INDEX `guid` (`guid`),
533          INDEX `uri` (`uri`),
534          INDEX `parent` (`parent`),
535          INDEX `parent-uri` (`parent-uri`),
536          INDEX `extid` (`extid`),
537          INDEX `uid_id` (`uid`,`id`),
538          INDEX `uid_contactid_id` (`uid`,`contact-id`,`id`),
539          INDEX `uid_created` (`uid`,`created`),
540          INDEX `uid_unseen_contactid` (`uid`,`unseen`,`contact-id`),
541          INDEX `uid_network_received` (`uid`,`network`(4),`received`),
542          INDEX `uid_network_commented` (`uid`,`network`(4),`commented`),
543          INDEX `uid_thrparent` (`uid`,`thr-parent`(190)),
544          INDEX `uid_parenturi` (`uid`,`parent-uri`(190)),
545          INDEX `uid_contactid_created` (`uid`,`contact-id`,`created`),
546          INDEX `authorid_created` (`author-id`,`created`),
547          INDEX `ownerid` (`owner-id`),
548          INDEX `uid_uri` (`uid`,`uri`(190)),
549          INDEX `resource-id` (`resource-id`),
550          INDEX `contactid_allowcid_allowpid_denycid_denygid` (`contact-id`,`allow_cid`(10),`allow_gid`(10),`deny_cid`(10),`deny_gid`(10)),
551          INDEX `uid_type_changed` (`uid`,`type`(190),`changed`),
552          INDEX `contactid_verb` (`contact-id`,`verb`(190)),
553          INDEX `deleted_changed` (`deleted`,`changed`),
554          INDEX `uid_wall_changed` (`uid`,`wall`,`changed`),
555          INDEX `uid_eventid` (`uid`,`event-id`),
556          INDEX `uid_authorlink` (`uid`,`author-link`(190)),
557          INDEX `uid_ownerlink` (`uid`,`owner-link`(190))
558 ) DEFAULT COLLATE utf8mb4_general_ci;
559
560 --
561 -- TABLE item_id
562 --
563 CREATE TABLE IF NOT EXISTS `item_id` (
564         `id` int(11) NOT NULL auto_increment,
565         `iid` int(11) NOT NULL DEFAULT 0,
566         `uid` int(11) NOT NULL DEFAULT 0,
567         `sid` varchar(255) NOT NULL DEFAULT '',
568         `service` varchar(255) NOT NULL DEFAULT '',
569          PRIMARY KEY(`id`),
570          INDEX `uid` (`uid`),
571          INDEX `sid` (`sid`),
572          INDEX `service` (`service`(32)),
573          INDEX `iid` (`iid`)
574 ) DEFAULT COLLATE utf8mb4_general_ci;
575
576 --
577 -- TABLE locks
578 --
579 CREATE TABLE IF NOT EXISTS `locks` (
580         `id` int(11) NOT NULL auto_increment,
581         `name` varchar(128) NOT NULL DEFAULT '',
582         `locked` tinyint(1) NOT NULL DEFAULT 0,
583         `pid` int(10) unsigned NOT NULL DEFAULT 0,
584          PRIMARY KEY(`id`)
585 ) DEFAULT COLLATE utf8mb4_general_ci;
586
587 --
588 -- TABLE mail
589 --
590 CREATE TABLE IF NOT EXISTS `mail` (
591         `id` int(10) unsigned NOT NULL auto_increment,
592         `uid` int(10) unsigned NOT NULL DEFAULT 0,
593         `guid` varchar(255) NOT NULL DEFAULT '',
594         `from-name` varchar(255) NOT NULL DEFAULT '',
595         `from-photo` varchar(255) NOT NULL DEFAULT '',
596         `from-url` varchar(255) NOT NULL DEFAULT '',
597         `contact-id` varchar(255) NOT NULL DEFAULT '',
598         `convid` int(11) unsigned NOT NULL DEFAULT 0,
599         `title` varchar(255) NOT NULL DEFAULT '',
600         `body` mediumtext,
601         `seen` tinyint(1) NOT NULL DEFAULT 0,
602         `reply` tinyint(1) NOT NULL DEFAULT 0,
603         `replied` tinyint(1) NOT NULL DEFAULT 0,
604         `unknown` tinyint(1) NOT NULL DEFAULT 0,
605         `uri` varchar(255) NOT NULL DEFAULT '',
606         `parent-uri` varchar(255) NOT NULL DEFAULT '',
607         `created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
608          PRIMARY KEY(`id`),
609          INDEX `uid_seen` (`uid`,`seen`),
610          INDEX `convid` (`convid`),
611          INDEX `uri` (`uri`(64)),
612          INDEX `parent-uri` (`parent-uri`(64)),
613          INDEX `contactid` (`contact-id`)
614 ) DEFAULT COLLATE utf8mb4_general_ci;
615
616 --
617 -- TABLE mailacct
618 --
619 CREATE TABLE IF NOT EXISTS `mailacct` (
620         `id` int(11) NOT NULL auto_increment,
621         `uid` int(11) NOT NULL DEFAULT 0,
622         `server` varchar(255) NOT NULL DEFAULT '',
623         `port` int(11) NOT NULL DEFAULT 0,
624         `ssltype` varchar(16) NOT NULL DEFAULT '',
625         `mailbox` varchar(255) NOT NULL DEFAULT '',
626         `user` varchar(255) NOT NULL DEFAULT '',
627         `pass` text,
628         `reply_to` varchar(255) NOT NULL DEFAULT '',
629         `action` int(11) NOT NULL DEFAULT 0,
630         `movetofolder` varchar(255) NOT NULL DEFAULT '',
631         `pubmail` tinyint(1) NOT NULL DEFAULT 0,
632         `last_check` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
633          PRIMARY KEY(`id`)
634 ) DEFAULT COLLATE utf8mb4_general_ci;
635
636 --
637 -- TABLE manage
638 --
639 CREATE TABLE IF NOT EXISTS `manage` (
640         `id` int(11) NOT NULL auto_increment,
641         `uid` int(11) NOT NULL DEFAULT 0,
642         `mid` int(11) NOT NULL DEFAULT 0,
643          PRIMARY KEY(`id`),
644          UNIQUE INDEX `uid_mid` (`uid`,`mid`)
645 ) DEFAULT COLLATE utf8mb4_general_ci;
646
647 --
648 -- TABLE notify
649 --
650 CREATE TABLE IF NOT EXISTS `notify` (
651         `id` int(11) NOT NULL auto_increment,
652         `hash` varchar(64) NOT NULL DEFAULT '',
653         `type` int(11) NOT NULL DEFAULT 0,
654         `name` varchar(255) NOT NULL DEFAULT '',
655         `url` varchar(255) NOT NULL DEFAULT '',
656         `photo` varchar(255) NOT NULL DEFAULT '',
657         `date` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
658         `msg` mediumtext,
659         `uid` int(11) NOT NULL DEFAULT 0,
660         `link` varchar(255) NOT NULL DEFAULT '',
661         `iid` int(11) NOT NULL DEFAULT 0,
662         `parent` int(11) NOT NULL DEFAULT 0,
663         `seen` tinyint(1) NOT NULL DEFAULT 0,
664         `verb` varchar(255) NOT NULL DEFAULT '',
665         `otype` varchar(16) NOT NULL DEFAULT '',
666         `name_cache` tinytext,
667         `msg_cache` mediumtext,
668          PRIMARY KEY(`id`),
669          INDEX `hash_uid` (`hash`,`uid`),
670          INDEX `seen_uid_date` (`seen`,`uid`,`date`),
671          INDEX `uid_date` (`uid`,`date`),
672          INDEX `uid_type_link` (`uid`,`type`,`link`(190))
673 ) DEFAULT COLLATE utf8mb4_general_ci;
674
675 --
676 -- TABLE notify-threads
677 --
678 CREATE TABLE IF NOT EXISTS `notify-threads` (
679         `id` int(11) NOT NULL auto_increment,
680         `notify-id` int(11) NOT NULL DEFAULT 0,
681         `master-parent-item` int(10) unsigned NOT NULL DEFAULT 0,
682         `parent-item` int(10) unsigned NOT NULL DEFAULT 0,
683         `receiver-uid` int(11) NOT NULL DEFAULT 0,
684          PRIMARY KEY(`id`)
685 ) DEFAULT COLLATE utf8mb4_general_ci;
686
687 --
688 -- TABLE oembed
689 --
690 CREATE TABLE IF NOT EXISTS `oembed` (
691         `url` varbinary(255) NOT NULL,
692         `content` mediumtext,
693         `created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
694          PRIMARY KEY(`url`),
695          INDEX `created` (`created`)
696 ) DEFAULT COLLATE utf8mb4_general_ci;
697
698 --
699 -- TABLE parsed_url
700 --
701 CREATE TABLE IF NOT EXISTS `parsed_url` (
702         `url` varbinary(255) NOT NULL,
703         `guessing` tinyint(1) NOT NULL DEFAULT 0,
704         `oembed` tinyint(1) NOT NULL DEFAULT 0,
705         `content` mediumtext,
706         `created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
707          PRIMARY KEY(`url`,`guessing`,`oembed`),
708          INDEX `created` (`created`)
709 ) DEFAULT COLLATE utf8mb4_general_ci;
710
711 --
712 -- TABLE pconfig
713 --
714 CREATE TABLE IF NOT EXISTS `pconfig` (
715         `id` int(11) NOT NULL auto_increment,
716         `uid` int(11) NOT NULL DEFAULT 0,
717         `cat` varbinary(255) NOT NULL DEFAULT '',
718         `k` varbinary(255) NOT NULL DEFAULT '',
719         `v` mediumtext,
720          PRIMARY KEY(`id`),
721          UNIQUE INDEX `uid_cat_k` (`uid`,`cat`,`k`)
722 ) DEFAULT COLLATE utf8mb4_general_ci;
723
724 --
725 -- TABLE photo
726 --
727 CREATE TABLE IF NOT EXISTS `photo` (
728         `id` int(10) unsigned NOT NULL auto_increment,
729         `uid` int(10) unsigned NOT NULL DEFAULT 0,
730         `contact-id` int(10) unsigned NOT NULL DEFAULT 0,
731         `guid` varchar(64) NOT NULL DEFAULT '',
732         `resource-id` varchar(255) NOT NULL DEFAULT '',
733         `created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
734         `edited` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
735         `title` varchar(255) NOT NULL DEFAULT '',
736         `desc` text,
737         `album` varchar(255) NOT NULL DEFAULT '',
738         `filename` varchar(255) NOT NULL DEFAULT '',
739         `type` varchar(128) NOT NULL DEFAULT 'image/jpeg',
740         `height` smallint(6) NOT NULL DEFAULT 0,
741         `width` smallint(6) NOT NULL DEFAULT 0,
742         `datasize` int(10) unsigned NOT NULL DEFAULT 0,
743         `data` mediumblob NOT NULL,
744         `scale` tinyint(3) NOT NULL DEFAULT 0,
745         `profile` tinyint(1) NOT NULL DEFAULT 0,
746         `allow_cid` mediumtext,
747         `allow_gid` mediumtext,
748         `deny_cid` mediumtext,
749         `deny_gid` mediumtext,
750          PRIMARY KEY(`id`),
751          INDEX `contactid` (`contact-id`),
752          INDEX `uid_contactid` (`uid`,`contact-id`),
753          INDEX `uid_profile` (`uid`,`profile`),
754          INDEX `uid_album_scale_created` (`uid`,`album`(32),`scale`,`created`),
755          INDEX `uid_album_resource-id_created` (`uid`,`album`(32),`resource-id`(64),`created`),
756          INDEX `resource-id` (`resource-id`(64))
757 ) DEFAULT COLLATE utf8mb4_general_ci;
758
759 --
760 -- TABLE poll
761 --
762 CREATE TABLE IF NOT EXISTS `poll` (
763         `id` int(11) NOT NULL auto_increment,
764         `uid` int(11) NOT NULL DEFAULT 0,
765         `q0` text,
766         `q1` text,
767         `q2` text,
768         `q3` text,
769         `q4` text,
770         `q5` text,
771         `q6` text,
772         `q7` text,
773         `q8` text,
774         `q9` text,
775          PRIMARY KEY(`id`),
776          INDEX `uid` (`uid`)
777 ) DEFAULT COLLATE utf8mb4_general_ci;
778
779 --
780 -- TABLE poll_result
781 --
782 CREATE TABLE IF NOT EXISTS `poll_result` (
783         `id` int(11) NOT NULL auto_increment,
784         `poll_id` int(11) NOT NULL DEFAULT 0,
785         `choice` int(11) NOT NULL DEFAULT 0,
786          PRIMARY KEY(`id`),
787          INDEX `poll_id` (`poll_id`),
788          INDEX `choice` (`choice`)
789 ) DEFAULT COLLATE utf8mb4_general_ci;
790
791 --
792 -- TABLE process
793 --
794 CREATE TABLE IF NOT EXISTS `process` (
795         `pid` int(10) unsigned NOT NULL,
796         `command` varbinary(32) NOT NULL DEFAULT '',
797         `created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
798          PRIMARY KEY(`pid`),
799          INDEX `command` (`command`)
800 ) DEFAULT COLLATE utf8mb4_general_ci;
801
802 --
803 -- TABLE profile
804 --
805 CREATE TABLE IF NOT EXISTS `profile` (
806         `id` int(11) NOT NULL auto_increment,
807         `uid` int(11) NOT NULL DEFAULT 0,
808         `profile-name` varchar(255) NOT NULL DEFAULT '',
809         `is-default` tinyint(1) NOT NULL DEFAULT 0,
810         `hide-friends` tinyint(1) NOT NULL DEFAULT 0,
811         `name` varchar(255) NOT NULL DEFAULT '',
812         `pdesc` varchar(255) NOT NULL DEFAULT '',
813         `dob` varchar(32) NOT NULL DEFAULT '0001-01-01',
814         `address` varchar(255) NOT NULL DEFAULT '',
815         `locality` varchar(255) NOT NULL DEFAULT '',
816         `region` varchar(255) NOT NULL DEFAULT '',
817         `postal-code` varchar(32) NOT NULL DEFAULT '',
818         `country-name` varchar(255) NOT NULL DEFAULT '',
819         `hometown` varchar(255) NOT NULL DEFAULT '',
820         `gender` varchar(32) NOT NULL DEFAULT '',
821         `marital` varchar(255) NOT NULL DEFAULT '',
822         `with` text,
823         `howlong` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
824         `sexual` varchar(255) NOT NULL DEFAULT '',
825         `politic` varchar(255) NOT NULL DEFAULT '',
826         `religion` varchar(255) NOT NULL DEFAULT '',
827         `pub_keywords` text,
828         `prv_keywords` text,
829         `likes` text,
830         `dislikes` text,
831         `about` text,
832         `summary` varchar(255) NOT NULL DEFAULT '',
833         `music` text,
834         `book` text,
835         `tv` text,
836         `film` text,
837         `interest` text,
838         `romance` text,
839         `work` text,
840         `education` text,
841         `contact` text,
842         `homepage` varchar(255) NOT NULL DEFAULT '',
843         `xmpp` varchar(255) NOT NULL DEFAULT '',
844         `photo` varchar(255) NOT NULL DEFAULT '',
845         `thumb` varchar(255) NOT NULL DEFAULT '',
846         `publish` tinyint(1) NOT NULL DEFAULT 0,
847         `net-publish` tinyint(1) NOT NULL DEFAULT 0,
848          PRIMARY KEY(`id`),
849          INDEX `uid_is-default` (`uid`,`is-default`)
850 ) DEFAULT COLLATE utf8mb4_general_ci;
851
852 --
853 -- TABLE profile_check
854 --
855 CREATE TABLE IF NOT EXISTS `profile_check` (
856         `id` int(10) unsigned NOT NULL auto_increment,
857         `uid` int(10) unsigned NOT NULL DEFAULT 0,
858         `cid` int(10) unsigned NOT NULL DEFAULT 0,
859         `dfrn_id` varchar(255) NOT NULL DEFAULT '',
860         `sec` varchar(255) NOT NULL DEFAULT '',
861         `expire` int(11) NOT NULL DEFAULT 0,
862          PRIMARY KEY(`id`)
863 ) DEFAULT COLLATE utf8mb4_general_ci;
864
865 --
866 -- TABLE push_subscriber
867 --
868 CREATE TABLE IF NOT EXISTS `push_subscriber` (
869         `id` int(11) NOT NULL auto_increment,
870         `uid` int(11) NOT NULL DEFAULT 0,
871         `callback_url` varchar(255) NOT NULL DEFAULT '',
872         `topic` varchar(255) NOT NULL DEFAULT '',
873         `nickname` varchar(255) NOT NULL DEFAULT '',
874         `push` int(11) NOT NULL DEFAULT 0,
875         `last_update` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
876         `secret` varchar(255) NOT NULL DEFAULT '',
877          PRIMARY KEY(`id`)
878 ) DEFAULT COLLATE utf8mb4_general_ci;
879
880 --
881 -- TABLE queue
882 --
883 CREATE TABLE IF NOT EXISTS `queue` (
884         `id` int(11) NOT NULL auto_increment,
885         `cid` int(11) NOT NULL DEFAULT 0,
886         `network` varchar(32) NOT NULL DEFAULT '',
887         `created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
888         `last` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
889         `content` mediumtext,
890         `batch` tinyint(1) NOT NULL DEFAULT 0,
891          PRIMARY KEY(`id`),
892          INDEX `cid` (`cid`),
893          INDEX `created` (`created`),
894          INDEX `last` (`last`),
895          INDEX `network` (`network`),
896          INDEX `batch` (`batch`)
897 ) DEFAULT COLLATE utf8mb4_general_ci;
898
899 --
900 -- TABLE register
901 --
902 CREATE TABLE IF NOT EXISTS `register` (
903         `id` int(11) unsigned NOT NULL auto_increment,
904         `hash` varchar(255) NOT NULL DEFAULT '',
905         `created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
906         `uid` int(11) unsigned NOT NULL DEFAULT 0,
907         `password` varchar(255) NOT NULL DEFAULT '',
908         `language` varchar(16) NOT NULL DEFAULT '',
909         `note` text,
910          PRIMARY KEY(`id`)
911 ) DEFAULT COLLATE utf8mb4_general_ci;
912
913 --
914 -- TABLE search
915 --
916 CREATE TABLE IF NOT EXISTS `search` (
917         `id` int(11) NOT NULL auto_increment,
918         `uid` int(11) NOT NULL DEFAULT 0,
919         `term` varchar(255) NOT NULL DEFAULT '',
920          PRIMARY KEY(`id`),
921          INDEX `uid` (`uid`)
922 ) DEFAULT COLLATE utf8mb4_general_ci;
923
924 --
925 -- TABLE session
926 --
927 CREATE TABLE IF NOT EXISTS `session` (
928         `id` bigint(20) unsigned NOT NULL auto_increment,
929         `sid` varbinary(255) NOT NULL DEFAULT '',
930         `data` text,
931         `expire` int(10) unsigned NOT NULL DEFAULT 0,
932          PRIMARY KEY(`id`),
933          INDEX `sid` (`sid`(64)),
934          INDEX `expire` (`expire`)
935 ) DEFAULT COLLATE utf8mb4_general_ci;
936
937 --
938 -- TABLE sign
939 --
940 CREATE TABLE IF NOT EXISTS `sign` (
941         `id` int(10) unsigned NOT NULL auto_increment,
942         `iid` int(10) unsigned NOT NULL DEFAULT 0,
943         `signed_text` mediumtext,
944         `signature` text,
945         `signer` varchar(255) NOT NULL DEFAULT '',
946          PRIMARY KEY(`id`),
947          UNIQUE INDEX `iid` (`iid`)
948 ) DEFAULT COLLATE utf8mb4_general_ci;
949
950 --
951 -- TABLE spam
952 --
953 CREATE TABLE IF NOT EXISTS `spam` (
954         `id` int(11) NOT NULL auto_increment,
955         `uid` int(11) NOT NULL DEFAULT 0,
956         `spam` int(11) NOT NULL DEFAULT 0,
957         `ham` int(11) NOT NULL DEFAULT 0,
958         `term` varchar(255) NOT NULL DEFAULT '',
959         `date` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
960          PRIMARY KEY(`id`),
961          INDEX `uid` (`uid`),
962          INDEX `spam` (`spam`),
963          INDEX `ham` (`ham`),
964          INDEX `term` (`term`)
965 ) DEFAULT COLLATE utf8mb4_general_ci;
966
967 --
968 -- TABLE term
969 --
970 CREATE TABLE IF NOT EXISTS `term` (
971         `tid` int(10) unsigned NOT NULL auto_increment,
972         `oid` int(10) unsigned NOT NULL DEFAULT 0,
973         `otype` tinyint(3) unsigned NOT NULL DEFAULT 0,
974         `type` tinyint(3) unsigned NOT NULL DEFAULT 0,
975         `term` varchar(255) NOT NULL DEFAULT '',
976         `url` varchar(255) NOT NULL DEFAULT '',
977         `guid` varchar(255) NOT NULL DEFAULT '',
978         `created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
979         `received` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
980         `global` tinyint(1) NOT NULL DEFAULT 0,
981         `aid` int(10) unsigned NOT NULL DEFAULT 0,
982         `uid` int(10) unsigned NOT NULL DEFAULT 0,
983          PRIMARY KEY(`tid`),
984          INDEX `oid_otype_type_term` (`oid`,`otype`,`type`,`term`(32)),
985          INDEX `uid_otype_type_term_global_created` (`uid`,`otype`,`type`,`term`(32),`global`,`created`),
986          INDEX `uid_otype_type_url` (`uid`,`otype`,`type`,`url`(64)),
987          INDEX `guid` (`guid`(64))
988 ) DEFAULT COLLATE utf8mb4_general_ci;
989
990 --
991 -- TABLE thread
992 --
993 CREATE TABLE IF NOT EXISTS `thread` (
994         `iid` int(10) unsigned NOT NULL DEFAULT 0,
995         `uid` int(10) unsigned NOT NULL DEFAULT 0,
996         `contact-id` int(11) unsigned NOT NULL DEFAULT 0,
997         `gcontact-id` int(11) unsigned NOT NULL DEFAULT 0,
998         `owner-id` int(11) unsigned NOT NULL DEFAULT 0,
999         `author-id` int(11) unsigned NOT NULL DEFAULT 0,
1000         `created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
1001         `edited` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
1002         `commented` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
1003         `received` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
1004         `changed` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
1005         `wall` tinyint(1) NOT NULL DEFAULT 0,
1006         `private` tinyint(1) NOT NULL DEFAULT 0,
1007         `pubmail` tinyint(1) NOT NULL DEFAULT 0,
1008         `moderated` tinyint(1) NOT NULL DEFAULT 0,
1009         `visible` tinyint(1) NOT NULL DEFAULT 0,
1010         `spam` tinyint(1) NOT NULL DEFAULT 0,
1011         `starred` tinyint(1) NOT NULL DEFAULT 0,
1012         `ignored` tinyint(1) NOT NULL DEFAULT 0,
1013         `bookmark` tinyint(1) NOT NULL DEFAULT 0,
1014         `unseen` tinyint(1) NOT NULL DEFAULT 1,
1015         `deleted` tinyint(1) NOT NULL DEFAULT 0,
1016         `origin` tinyint(1) NOT NULL DEFAULT 0,
1017         `forum_mode` tinyint(1) NOT NULL DEFAULT 0,
1018         `mention` tinyint(1) NOT NULL DEFAULT 0,
1019         `network` varchar(32) NOT NULL DEFAULT '',
1020          PRIMARY KEY(`iid`),
1021          INDEX `uid_network_commented` (`uid`,`network`,`commented`),
1022          INDEX `uid_network_created` (`uid`,`network`,`created`),
1023          INDEX `uid_contactid_commented` (`uid`,`contact-id`,`commented`),
1024          INDEX `uid_contactid_created` (`uid`,`contact-id`,`created`),
1025          INDEX `contactid` (`contact-id`),
1026          INDEX `ownerid` (`owner-id`),
1027          INDEX `authorid` (`author-id`),
1028          INDEX `uid_created` (`uid`,`created`),
1029          INDEX `uid_commented` (`uid`,`commented`),
1030          INDEX `uid_wall_created` (`uid`,`wall`,`created`),
1031          INDEX `private_wall_received` (`private`,`wall`,`received`)
1032 ) DEFAULT COLLATE utf8mb4_general_ci;
1033
1034 --
1035 -- TABLE tokens
1036 --
1037 CREATE TABLE IF NOT EXISTS `tokens` (
1038         `id` varchar(40) NOT NULL,
1039         `secret` text,
1040         `client_id` varchar(20) NOT NULL DEFAULT '',
1041         `expires` int(11) NOT NULL DEFAULT 0,
1042         `scope` varchar(200) NOT NULL DEFAULT '',
1043         `uid` int(11) NOT NULL DEFAULT 0,
1044          PRIMARY KEY(`id`)
1045 ) DEFAULT COLLATE utf8mb4_general_ci;
1046
1047 --
1048 -- TABLE user
1049 --
1050 CREATE TABLE IF NOT EXISTS `user` (
1051         `uid` int(11) NOT NULL auto_increment,
1052         `guid` varchar(64) NOT NULL DEFAULT '',
1053         `username` varchar(255) NOT NULL DEFAULT '',
1054         `password` varchar(255) NOT NULL DEFAULT '',
1055         `nickname` varchar(255) NOT NULL DEFAULT '',
1056         `email` varchar(255) NOT NULL DEFAULT '',
1057         `openid` varchar(255) NOT NULL DEFAULT '',
1058         `timezone` varchar(128) NOT NULL DEFAULT '',
1059         `language` varchar(32) NOT NULL DEFAULT 'en',
1060         `register_date` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
1061         `login_date` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
1062         `default-location` varchar(255) NOT NULL DEFAULT '',
1063         `allow_location` tinyint(1) NOT NULL DEFAULT 0,
1064         `theme` varchar(255) NOT NULL DEFAULT '',
1065         `pubkey` text,
1066         `prvkey` text,
1067         `spubkey` text,
1068         `sprvkey` text,
1069         `verified` tinyint(1) unsigned NOT NULL DEFAULT 0,
1070         `blocked` tinyint(1) unsigned NOT NULL DEFAULT 0,
1071         `blockwall` tinyint(1) unsigned NOT NULL DEFAULT 0,
1072         `hidewall` tinyint(1) unsigned NOT NULL DEFAULT 0,
1073         `blocktags` tinyint(1) unsigned NOT NULL DEFAULT 0,
1074         `unkmail` tinyint(1) NOT NULL DEFAULT 0,
1075         `cntunkmail` int(11) NOT NULL DEFAULT 10,
1076         `notify-flags` int(11) unsigned NOT NULL DEFAULT 65535,
1077         `page-flags` int(11) unsigned NOT NULL DEFAULT 0,
1078         `account-type` int(11) unsigned NOT NULL DEFAULT 0,
1079         `prvnets` tinyint(1) NOT NULL DEFAULT 0,
1080         `pwdreset` varchar(255) NOT NULL DEFAULT '',
1081         `maxreq` int(11) NOT NULL DEFAULT 10,
1082         `expire` int(11) unsigned NOT NULL DEFAULT 0,
1083         `account_removed` tinyint(1) NOT NULL DEFAULT 0,
1084         `account_expired` tinyint(1) NOT NULL DEFAULT 0,
1085         `account_expires_on` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
1086         `expire_notification_sent` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
1087         `service_class` varchar(32) NOT NULL DEFAULT '',
1088         `def_gid` int(11) NOT NULL DEFAULT 0,
1089         `allow_cid` mediumtext,
1090         `allow_gid` mediumtext,
1091         `deny_cid` mediumtext,
1092         `deny_gid` mediumtext,
1093         `openidserver` text,
1094          PRIMARY KEY(`uid`),
1095          INDEX `nickname` (`nickname`(32))
1096 ) DEFAULT COLLATE utf8mb4_general_ci;
1097
1098 --
1099 -- TABLE userd
1100 --
1101 CREATE TABLE IF NOT EXISTS `userd` (
1102         `id` int(11) NOT NULL auto_increment,
1103         `username` varchar(255) NOT NULL,
1104          PRIMARY KEY(`id`),
1105          INDEX `username` (`username`(32))
1106 ) DEFAULT COLLATE utf8mb4_general_ci;
1107
1108 --
1109 -- TABLE workerqueue
1110 --
1111 CREATE TABLE IF NOT EXISTS `workerqueue` (
1112         `id` int(11) NOT NULL auto_increment,
1113         `parameter` text,
1114         `priority` tinyint(3) unsigned NOT NULL DEFAULT 0,
1115         `created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
1116         `pid` int(11) NOT NULL DEFAULT 0,
1117         `executed` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
1118         `done` tinyint(1) NOT NULL DEFAULT 0,
1119          PRIMARY KEY(`id`),
1120          INDEX `pid` (`pid`),
1121          INDEX `parameter` (`parameter`(64)),
1122          INDEX `priority_created` (`priority`,`created`),
1123          INDEX `executed` (`executed`)
1124 ) DEFAULT COLLATE utf8mb4_general_ci;
1125