diff --git a/config/dbstructure.json b/config/dbstructure.json new file mode 100644 index 0000000000..62f710cdf7 --- /dev/null +++ b/config/dbstructure.json @@ -0,0 +1,1250 @@ +{ + "addon": { + "comment": "registered addons", + "fields": { + "id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": ""}, + "name": {"type": "varchar(50)", "not null": "1", "default": "", "comment": "addon base (file)name"}, + "version": {"type": "varchar(50)", "not null": "1", "default": "", "comment": "currently unused"}, + "installed": {"type": "boolean", "not null": "1", "default": "0", "comment": "currently always 1"}, + "hidden": {"type": "boolean", "not null": "1", "default": "0", "comment": "currently unused"}, + "timestamp": {"type": "int unsigned", "not null": "1", "default": "0", "comment": "file timestamp to check for reloads"}, + "plugin_admin": {"type": "boolean", "not null": "1", "default": "0", "comment": "1 = has admin config, 0 = has no admin config"} + }, + "indexes": { + "PRIMARY": ["id"], + "name": ["UNIQUE", "name"] + } + }, + "attach": { + "comment": "file attachments", + "fields": { + "id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "generated index"}, + "uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "Owner User id"}, + "hash": {"type": "varchar(64)", "not null": "1", "default": "", "comment": "hash"}, + "filename": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "filename of original"}, + "filetype": {"type": "varchar(64)", "not null": "1", "default": "", "comment": "mimetype"}, + "filesize": {"type": "int unsigned", "not null": "1", "default": "0", "comment": "size in bytes"}, + "data": {"type": "longblob", "not null": "1", "comment": "file data"}, + "created": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "creation time"}, + "edited": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "last edit time"}, + "allow_cid": {"type": "mediumtext", "comment": "Access Control - list of allowed contact.id '<19><78>"}, + "allow_gid": {"type": "mediumtext", "comment": "Access Control - list of allowed groups"}, + "deny_cid": {"type": "mediumtext", "comment": "Access Control - list of denied contact.id"}, + "deny_gid": {"type": "mediumtext", "comment": "Access Control - list of denied groups"} + }, + "indexes": { + "PRIMARY": ["id"] + } + }, + "auth_codes": { + "comment": "OAuth usage", + "fields": { + "id": {"type": "varchar(40)", "not null": "1", "primary": "1", "comment": ""}, + "client_id": {"type": "varchar(20)", "not null": "1", "default": "", "relation": {"clients": "client_id"}, "comment": ""}, + "redirect_uri": {"type": "varchar(200)", "not null": "1", "default": "", "comment": ""}, + "expires": {"type": "int", "not null": "1", "default": "0", "comment": ""}, + "scope": {"type": "varchar(250)", "not null": "1", "default": "", "comment": ""} + }, + "indexes": { + "PRIMARY": ["id"] + } + }, + "cache": { + "comment": "Stores temporary data", + "fields": { + "k": {"type": "varbinary(255)", "not null": "1", "primary": "1", "comment": "cache key"}, + "v": {"type": "mediumtext", "comment": "cached serialized value"}, + "expires": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "datetime of cache expiration"}, + "updated": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "datetime of cache insertion"} + }, + "indexes": { + "PRIMARY": ["k"], + "k_expires": ["k", "expires"] + } + }, + "challenge": { + "comment": "", + "fields": { + "id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"}, + "challenge": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "dfrn-id": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "expire": {"type": "int unsigned", "not null": "1", "default": "0", "comment": ""}, + "type": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "last_update": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""} + }, + "indexes": { + "PRIMARY": ["id"] + } + }, + "clients": { + "comment": "OAuth usage", + "fields": { + "client_id": {"type": "varchar(20)", "not null": "1", "primary": "1", "comment": ""}, + "pw": {"type": "varchar(20)", "not null": "1", "default": "", "comment": ""}, + "redirect_uri": {"type": "varchar(200)", "not null": "1", "default": "", "comment": ""}, + "name": {"type": "text", "comment": ""}, + "icon": {"type": "text", "comment": ""}, + "uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "User id"} + }, + "indexes": { + "PRIMARY": ["client_id"] + } + }, + "config": { + "comment": "main configuration storage", + "fields": { + "id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": ""}, + "cat": {"type": "varbinary(50)", "not null": "1", "default": "", "comment": ""}, + "k": {"type": "varbinary(50)", "not null": "1", "default": "", "comment": ""}, + "v": {"type": "mediumtext", "comment": ""} + }, + "indexes": { + "PRIMARY": ["id"], + "cat_k": ["UNIQUE", "cat", "k"] + } + }, + "contact": { + "comment": "contact table", + "fields": { + "id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"}, + "uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "Owner User id"}, + "created": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""}, + "self": {"type": "boolean", "not null": "1", "default": "0", "comment": "1 if the contact is the user him/her self"}, + "remote_self": {"type": "boolean", "not null": "1", "default": "0", "comment": ""}, + "rel": {"type": "tinyint unsigned", "not null": "1", "default": "0", "comment": "The kind of the relation between the user and the contact"}, + "duplex": {"type": "boolean", "not null": "1", "default": "0", "comment": ""}, + "network": {"type": "char(4)", "not null": "1", "default": "", "comment": "Network protocol of the contact"}, + "name": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "Name that this contact is known by"}, + "nick": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "Nick- and user name of the contact"}, + "location": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "about": {"type": "text", "comment": ""}, + "keywords": {"type": "text", "comment": "public keywords (interests) of the contact"}, + "gender": {"type": "varchar(32)", "not null": "1", "default": "", "comment": ""}, + "xmpp": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "attag": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "avatar": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "photo": {"type": "varchar(255)", "default": "", "comment": "Link to the profile photo of the contact"}, + "thumb": {"type": "varchar(255)", "default": "", "comment": "Link to the profile photo (thumb size)"}, + "micro": {"type": "varchar(255)", "default": "", "comment": "Link to the profile photo (micro size)"}, + "site-pubkey": {"type": "text", "comment": ""}, + "issued-id": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "dfrn-id": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "url": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "nurl": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "addr": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "alias": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "pubkey": {"type": "text", "comment": "RSA public key 4096 bit"}, + "prvkey": {"type": "text", "comment": "RSA private key 4096 bit"}, + "batch": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "request": {"type": "varchar(255)", "comment": ""}, + "notify": {"type": "varchar(255)", "comment": ""}, + "poll": {"type": "varchar(255)", "comment": ""}, + "confirm": {"type": "varchar(255)", "comment": ""}, + "poco": {"type": "varchar(255)", "comment": ""}, + "aes_allow": {"type": "boolean", "not null": "1", "default": "0", "comment": ""}, + "ret-aes": {"type": "boolean", "not null": "1", "default": "0", "comment": ""}, + "usehub": {"type": "boolean", "not null": "1", "default": "0", "comment": ""}, + "subhub": {"type": "boolean", "not null": "1", "default": "0", "comment": ""}, + "hub-verify": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "last-update": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "Date of the last try to update the contact info"}, + "success_update": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "Date of the last successful contact update"}, + "failure_update": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "Date of the last failed update"}, + "name-date": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""}, + "uri-date": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""}, + "avatar-date": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""}, + "term-date": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""}, + "last-item": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "date of the last post"}, + "priority": {"type": "tinyint unsigned", "not null": "1", "default": "0", "comment": ""}, + "blocked": {"type": "boolean", "not null": "1", "default": "1", "comment": ""}, + "readonly": {"type": "boolean", "not null": "1", "default": "0", "comment": "posts of the contact are readonly"}, + "writable": {"type": "boolean", "not null": "1", "default": "0", "comment": ""}, + "forum": {"type": "boolean", "not null": "1", "default": "0", "comment": "contact is a forum"}, + "prv": {"type": "boolean", "not null": "1", "default": "0", "comment": "contact is a private group"}, + "contact-type": {"type": "tinyint", "not null": "1", "default": "0", "comment": ""}, + "hidden": {"type": "boolean", "not null": "1", "default": "0", "comment": ""}, + "archive": {"type": "boolean", "not null": "1", "default": "0", "comment": ""}, + "pending": {"type": "boolean", "not null": "1", "default": "1", "comment": ""}, + "rating": {"type": "tinyint", "not null": "1", "default": "0", "comment": ""}, + "reason": {"type": "text", "comment": ""}, + "closeness": {"type": "tinyint unsigned", "not null": "1", "default": "99", "comment": ""}, + "info": {"type": "mediumtext", "comment": ""}, + "profile-id": {"type": "int unsigned", "not null": "1", "default": "0", "comment": ""}, + "bdyear": {"type": "varchar(4)", "not null": "1", "default": "", "comment": ""}, + "bd": {"type": "date", "not null": "1", "default": "0001-01-01", "comment": ""}, + "notify_new_posts": {"type": "boolean", "not null": "1", "default": "0", "comment": ""}, + "fetch_further_information": {"type": "tinyint unsigned", "not null": "1", "default": "0", "comment": ""}, + "ffi_keyword_blacklist": {"type": "text", "comment": ""} + }, + "indexes": { + "PRIMARY": ["id"], + "uid_name": ["uid", "name(190)"], + "self_uid": ["self", "uid"], + "alias_uid": ["alias(32)", "uid"], + "pending_uid": ["pending", "uid"], + "blocked_uid": ["blocked", "uid"], + "uid_rel_network_poll": ["uid", "rel", "network", "poll(64)", "archive"], + "uid_network_batch": ["uid", "network", "batch(64)"], + "addr_uid": ["addr(32)", "uid"], + "nurl_uid": ["nurl(32)", "uid"], + "nick_uid": ["nick(32)", "uid"], + "dfrn-id": ["dfrn-id(64)"], + "issued-id": ["issued-id(64)"] + } + }, + "conv": { + "comment": "private messages", + "fields": { + "id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"}, + "guid": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "A unique identifier for this conversation"}, + "recips": {"type": "text", "comment": "sender_handle;recipient_handle"}, + "uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "Owner User id"}, + "creator": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "handle of creator"}, + "created": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "creation timestamp"}, + "updated": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "edited timestamp"}, + "subject": {"type": "text", "comment": "subject of initial message"} + }, + "indexes": { + "PRIMARY": ["id"], + "uid": ["uid"] + } + }, + "conversation": { + "comment": "Raw data and structure information for messages", + "fields": { + "item-uri": {"type": "varbinary(255)", "not null": "1", "primary": "1", "comment": "URI of the item"}, + "reply-to-uri": {"type": "varbinary(255)", "not null": "1", "default": "", "comment": "URI to which this item is a reply"}, + "conversation-uri": {"type": "varbinary(255)", "not null": "1", "default": "", "comment": "GNU Social conversation URI"}, + "conversation-href": {"type": "varbinary(255)", "not null": "1", "default": "", "comment": "GNU Social conversation link"}, + "protocol": {"type": "tinyint unsigned", "not null": "1", "default": "0", "comment": "The protocol of the item"}, + "source": {"type": "mediumtext", "comment": "Original source"}, + "received": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "Receiving date"} + }, + "indexes": { + "PRIMARY": ["item-uri"], + "conversation-uri": ["conversation-uri"], + "received": ["received"] + } + }, + "event": { + "comment": "Events", + "fields": { + "id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"}, + "guid": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "Owner User id"}, + "cid": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"contact": "id"}, "comment": "contact_id (ID of the contact in contact table)"}, + "uri": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "created": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "creation time"}, + "edited": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "last edit time"}, + "start": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "event start time"}, + "finish": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "event end time"}, + "summary": {"type": "text", "comment": "short description or title of the event"}, + "desc": {"type": "text", "comment": "event description"}, + "location": {"type": "text", "comment": "event location"}, + "type": {"type": "varchar(20)", "not null": "1", "default": "", "comment": "event or birthday"}, + "nofinish": {"type": "boolean", "not null": "1", "default": "0", "comment": "if event does have no end this is 1"}, + "adjust": {"type": "boolean", "not null": "1", "default": "1", "comment": "adjust to timezone of the recipient (0 or 1)"}, + "ignore": {"type": "boolean", "not null": "1", "default": "0", "comment": "0 or 1"}, + "allow_cid": {"type": "mediumtext", "comment": "Access Control - list of allowed contact.id '<19><78>'"}, + "allow_gid": {"type": "mediumtext", "comment": "Access Control - list of allowed groups"}, + "deny_cid": {"type": "mediumtext", "comment": "Access Control - list of denied contact.id"}, + "deny_gid": {"type": "mediumtext", "comment": "Access Control - list of denied groups"} + }, + "indexes": { + "PRIMARY": ["id"], + "uid_start": ["uid", "start"] + } + }, + "fcontact": { + "comment": "Diaspora compatible contacts - used in the Diaspora implementation", + "fields": { + "id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"}, + "guid": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "unique id"}, + "url": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "name": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "photo": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "request": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "nick": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "addr": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "batch": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "notify": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "poll": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "confirm": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "priority": {"type": "tinyint unsigned", "not null": "1", "default": "0", "comment": ""}, + "network": {"type": "char(4)", "not null": "1", "default": "", "comment": ""}, + "alias": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "pubkey": {"type": "text", "comment": ""}, + "updated": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""} + }, + "indexes": { + "PRIMARY": ["id"], + "addr": ["addr(32)"], + "url": ["UNIQUE", "url(190)"] + } + }, + "fsuggest": { + "comment": "friend suggestion stuff", + "fields": { + "id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": ""}, + "uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "User id"}, + "cid": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"contact": "id"}, "comment": ""}, + "name": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "url": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "request": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "photo": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "note": {"type": "text", "comment": ""}, + "created": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""} + }, + "indexes": { + "PRIMARY": ["id"] + } + }, + "gcign": { + "comment": "contacts ignored by friend suggestions", + "fields": { + "id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"}, + "uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "Local User id"}, + "gcid": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"gcontact": "id"}, "comment": "gcontact.id of ignored contact"} + }, + "indexes": { + "PRIMARY": ["id"], + "uid": ["uid"], + "gcid": ["gcid"] + } + }, + "gcontact": { + "comment": "global contacts", + "fields": { + "id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"}, + "name": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "Name that this contact is known by"}, + "nick": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "Nick- and user name of the contact"}, + "url": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "Link to the contacts profile page"}, + "nurl": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "photo": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "Link to the profile photo"}, + "connect": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "created": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""}, + "updated": {"type": "datetime", "default": "0001-01-01 00:00:00", "comment": ""}, + "last_contact": {"type": "datetime", "default": "0001-01-01 00:00:00", "comment": ""}, + "last_failure": {"type": "datetime", "default": "0001-01-01 00:00:00", "comment": ""}, + "location": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "about": {"type": "text", "comment": ""}, + "keywords": {"type": "text", "comment": "puplic keywords (interests)"}, + "gender": {"type": "varchar(32)", "not null": "1", "default": "", "comment": ""}, + "birthday": {"type": "varchar(32)", "not null": "1", "default": "0001-01-01", "comment": ""}, + "community": {"type": "boolean", "not null": "1", "default": "0", "comment": "1 if contact is forum account"}, + "contact-type": {"type": "tinyint", "not null": "1", "default": "-1", "comment": ""}, + "hide": {"type": "boolean", "not null": "1", "default": "0", "comment": "1 = should be hidden from search"}, + "nsfw": {"type": "boolean", "not null": "1", "default": "0", "comment": "1 = contact posts nsfw content"}, + "network": {"type": "char(4)", "not null": "1", "default": "", "comment": "social network protocol"}, + "addr": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "notify": {"type": "varchar(255)", "comment": ""}, + "alias": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "generation": {"type": "tinyint unsigned", "not null": "1", "default": "0", "comment": ""}, + "server_url": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "baseurl of the contacts server"} + }, + "indexes": { + "PRIMARY": ["id"], + "nurl": ["UNIQUE", "nurl(190)"], + "name": ["name(64)"], + "nick": ["nick(32)"], + "addr": ["addr(64)"], + "hide_network_updated": ["hide", "network", "updated"], + "updated": ["updated"] + } + }, + "glink": { + "comment": "'friends of friends' linkages derived from poco", + "fields": { + "id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"}, + "cid": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"contact": "id"}, "comment": ""}, + "uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "User id"}, + "gcid": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"gcontact": "id"}, "comment": ""}, + "zcid": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"gcontact": "id"}, "comment": ""}, + "updated": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""} + }, + "indexes": { + "PRIMARY": ["id"], + "cid_uid_gcid_zcid": ["UNIQUE", "cid", "uid", "gcid", "zcid"], + "gcid": ["gcid"] + } + }, + "group": { + "comment": "privacy groups, group info", + "fields": { + "id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"}, + "uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "Owner User id"}, + "visible": {"type": "boolean", "not null": "1", "default": "0", "comment": "1 indicates the member list is not private"}, + "deleted": {"type": "boolean", "not null": "1", "default": "0", "comment": "1 indicates the group has been deleted"}, + "name": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "human readable name of group"} + }, + "indexes": { + "PRIMARY": ["id"], + "uid": ["uid"] + } + }, + "group_member": { + "comment": "privacy groups, member info", + "fields": { + "id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"}, + "gid": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"group": "id"}, "comment": "groups.id of the associated group"}, + "contact-id": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"contact": "id"}, "comment": "contact.id of the member assigned to the associated group"} + }, + "indexes": { + "PRIMARY": ["id"], + "contactid": ["contact-id"], + "gid_contactid": ["UNIQUE", "gid", "contact-id"] + } + }, + "gserver": { + "comment": "Global servers", + "fields": { + "id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"}, + "url": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "nurl": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "version": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "site_name": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "info": {"type": "text", "comment": ""}, + "register_policy": {"type": "tinyint", "not null": "1", "default": "0", "comment": ""}, + "registered-users": {"type": "int unsigned", "not null": "1", "default": "0", "comment": "Number of registered users"}, + "poco": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "noscrape": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "network": {"type": "char(4)", "not null": "1", "default": "", "comment": ""}, + "platform": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "relay-subscribe": {"type": "boolean", "not null": "1", "default": "0", "comment": "Has the server subscribed to the relay system"}, + "relay-scope": {"type": "varchar(10)", "not null": "1", "default": "", "comment": "The scope of messages that the server wants to get"}, + "created": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""}, + "last_poco_query": {"type": "datetime", "default": "0001-01-01 00:00:00", "comment": ""}, + "last_contact": {"type": "datetime", "default": "0001-01-01 00:00:00", "comment": ""}, + "last_failure": {"type": "datetime", "default": "0001-01-01 00:00:00", "comment": ""} + }, + "indexes": { + "PRIMARY": ["id"], + "nurl": ["UNIQUE", "nurl(190)"] + } + }, + "gserver-tag": { + "comment": "Tags that the server has subscribed", + "fields": { + "gserver-id": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"gserver": "id"}, "primary": "1", "comment": "The id of the gserver"}, + "tag": {"type": "varchar(100)", "not null": "1", "default": "", "primary": "1", "comment": "Tag that the server has subscribed"} + }, + "indexes": { + "PRIMARY": ["gserver-id", "tag"], + "tag": ["tag"] + } + }, + "hook": { + "comment": "addon hook registry", + "fields": { + "id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"}, + "hook": {"type": "varbinary(100)", "not null": "1", "default": "", "comment": "name of hook"}, + "file": {"type": "varbinary(200)", "not null": "1", "default": "", "comment": "relative filename of hook handler"}, + "function": {"type": "varbinary(200)", "not null": "1", "default": "", "comment": "function name of hook handler"}, + "priority": {"type": "smallint unsigned", "not null": "1", "default": "0", "comment": "not yet implemented - can be used to sort conflicts in hook handling by calling handlers in priority order"} + }, + "indexes": { + "PRIMARY": ["id"], + "hook_file_function": ["UNIQUE", "hook", "file", "function"] + } + }, + "intro": { + "comment": "", + "fields": { + "id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"}, + "uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "User id"}, + "fid": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"fcontact": "id"}, "comment": ""}, + "contact-id": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"contact": "id"}, "comment": ""}, + "knowyou": {"type": "boolean", "not null": "1", "default": "0", "comment": ""}, + "duplex": {"type": "boolean", "not null": "1", "default": "0", "comment": ""}, + "note": {"type": "text", "comment": ""}, + "hash": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "datetime": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""}, + "blocked": {"type": "boolean", "not null": "1", "default": "1", "comment": ""}, + "ignore": {"type": "boolean", "not null": "1", "default": "0", "comment": ""} + }, + "indexes": { + "PRIMARY": ["id"] + } + }, + "item": { + "comment": "Structure for all posts", + "fields": { + "id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "relation": {"thread": "iid"}}, + "guid": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "A unique identifier for this item"}, + "uri": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "uri-hash": {"type": "varchar(80)", "not null": "1", "default": "", "comment": "RIPEMD-128 hash from uri"}, + "parent": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"item": "id"}, "comment": "item.id of the parent to this item if it is a reply of some form; otherwise this must be set to the id of this item"}, + "parent-uri": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "uri of the parent to this item"}, + "thr-parent": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "If the parent of this item is not the top-level item in the conversation, the uri of the immediate parent; otherwise set to parent-uri"}, + "created": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "Creation timestamp."}, + "edited": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "Date of last edit (default is created)"}, + "commented": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "Date of last comment/reply to this item"}, + "received": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "datetime"}, + "changed": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "Date that something in the conversation changed, indicating clients should fetch the conversation again"}, + "gravity": {"type": "tinyint unsigned", "not null": "1", "default": "0", "comment": ""}, + "network": {"type": "char(4)", "not null": "1", "default": "", "comment": "Network from where the item comes from"}, + "owner-id": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"contact": "id"}, "comment": "Link to the contact table with uid=0 of the owner of this item"}, + "author-id": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"contact": "id"}, "comment": "Link to the contact table with uid=0 of the author of this item"}, + "icid": {"type": "int unsigned", "relation": {"item-content": "id"}, "comment": "Id of the item-content table entry that contains the whole item content"}, + "iaid": {"type": "int unsigned", "relation": {"item-activity": "id"}, "comment": "Id of the item-activity table entry that contains the activity data"}, + "extid": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "post-type": {"type": "tinyint unsigned", "not null": "1", "default": "0", "comment": "Post type (personal note, bookmark, ...)"}, + "global": {"type": "boolean", "not null": "1", "default": "0", "comment": ""}, + "private": {"type": "boolean", "not null": "1", "default": "0", "comment": "distribution is restricted"}, + "visible": {"type": "boolean", "not null": "1", "default": "0", "comment": ""}, + "moderated": {"type": "boolean", "not null": "1", "default": "0", "comment": ""}, + "deleted": {"type": "boolean", "not null": "1", "default": "0", "comment": "item has been deleted"}, + "uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "Owner id which owns this copy of the item"}, + "contact-id": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"contact": "id"}, "comment": "contact.id"}, + "wall": {"type": "boolean", "not null": "1", "default": "0", "comment": "This item was posted to the wall of uid"}, + "origin": {"type": "boolean", "not null": "1", "default": "0", "comment": "item originated at this site"}, + "pubmail": {"type": "boolean", "not null": "1", "default": "0", "comment": ""}, + "starred": {"type": "boolean", "not null": "1", "default": "0", "comment": "item has been favourited"}, + "unseen": {"type": "boolean", "not null": "1", "default": "1", "comment": "item has not been seen"}, + "mention": {"type": "boolean", "not null": "1", "default": "0", "comment": "The owner of this item was mentioned in it"}, + "forum_mode": {"type": "tinyint unsigned", "not null": "1", "default": "0", "comment": ""}, + "psid": {"type": "int unsigned", "relation": {"permissionset": "id"}, "comment": "ID of the permission set of this post"}, + "resource-id": {"type": "varchar(32)", "not null": "1", "default": "", "comment": "Used to link other tables to items, it identifies the linked resource (e.g. photo) and if set must also set resource_type"}, + "event-id": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"event": "id"}, "comment": "Used to link to the event.id"}, + "attach": {"type": "mediumtext", "comment": "JSON structure representing attachments to this item"}, + "allow_cid": {"type": "mediumtext", "comment": "Deprecated"}, + "allow_gid": {"type": "mediumtext", "comment": "Deprecated"}, + "deny_cid": {"type": "mediumtext", "comment": "Deprecated"}, + "deny_gid": {"type": "mediumtext", "comment": "Deprecated"}, + "postopts": {"type": "text", "comment": "Deprecated"}, + "inform": {"type": "mediumtext", "comment": "Deprecated"}, + "type": {"type": "varchar(20)", "comment": "Deprecated"}, + "bookmark": {"type": "boolean", "comment": "Deprecated"}, + "file": {"type": "mediumtext", "comment": "Deprecated"}, + "location": {"type": "varchar(255)", "comment": "Deprecated"}, + "coord": {"type": "varchar(255)", "comment": "Deprecated"}, + "tag": {"type": "mediumtext", "comment": "Deprecated"}, + "plink": {"type": "varchar(255)", "comment": "Deprecated"}, + "title": {"type": "varchar(255)", "comment": "Deprecated"}, + "content-warning": {"type": "varchar(255)", "comment": "Deprecated"}, + "body": {"type": "mediumtext", "comment": "Deprecated"}, + "app": {"type": "varchar(255)", "comment": "Deprecated"}, + "verb": {"type": "varchar(100)", "comment": "Deprecated"}, + "object-type": {"type": "varchar(100)", "comment": "Deprecated"}, + "object": {"type": "text", "comment": "Deprecated"}, + "target-type": {"type": "varchar(100)", "comment": "Deprecated"}, + "target": {"type": "text", "comment": "Deprecated"}, + "author-name": {"type": "varchar(255)", "comment": "Deprecated"}, + "author-link": {"type": "varchar(255)", "comment": "Deprecated"}, + "author-avatar": {"type": "varchar(255)", "comment": "Deprecated"}, + "owner-name": {"type": "varchar(255)", "comment": "Deprecated"}, + "owner-link": {"type": "varchar(255)", "comment": "Deprecated"}, + "owner-avatar": {"type": "varchar(255)", "comment": "Deprecated"}, + "rendered-hash": {"type": "varchar(32)", "comment": "Deprecated"}, + "rendered-html": {"type": "mediumtext", "comment": "Deprecated"} + }, + "indexes": { + "PRIMARY": ["id"], + "guid": ["guid(191)"], + "uri": ["uri(191)"], + "parent": ["parent"], + "parent-uri": ["parent-uri(191)"], + "extid": ["extid(191)"], + "uid_id": ["uid", "id"], + "uid_contactid_id": ["uid", "contact-id", "id"], + "uid_created": ["uid", "created"], + "uid_commented": ["uid", "commented"], + "uid_unseen_contactid": ["uid", "unseen", "contact-id"], + "uid_network_received": ["uid", "network", "received"], + "uid_network_commented": ["uid", "network", "commented"], + "uid_thrparent": ["uid", "thr-parent(190)"], + "uid_parenturi": ["uid", "parent-uri(190)"], + "uid_contactid_created": ["uid", "contact-id", "created"], + "authorid_created": ["author-id", "created"], + "ownerid": ["owner-id"], + "uid_uri": ["uid", "uri(190)"], + "resource-id": ["resource-id"], + "deleted_changed": ["deleted", "changed"], + "uid_wall_changed": ["uid", "wall", "changed"], + "uid_eventid": ["uid", "event-id"], + "icid": ["icid"], + "iaid": ["iaid"], + "psid_wall": ["psid", "wall"] + } + }, + "item-activity": { + "comment": "Activities for items", + "fields": { + "id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "relation": {"thread": "iid"}}, + "uri": {"type": "varchar(255)", "comment": ""}, + "uri-hash": {"type": "varchar(80)", "not null": "1", "default": "", "comment": "RIPEMD-128 hash from uri"}, + "activity": {"type": "smallint unsigned", "not null": "1", "default": "0", "comment": ""} + }, + "indexes": { + "PRIMARY": ["id"], + "uri-hash": ["UNIQUE", "uri-hash"], + "uri": ["uri(191)"] + } + }, + "item-content": { + "comment": "Content for all posts", + "fields": { + "id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "relation": {"thread": "iid"}}, + "uri": {"type": "varchar(255)", "comment": ""}, + "uri-plink-hash": {"type": "varchar(80)", "not null": "1", "default": "", "comment": "RIPEMD-128 hash from uri"}, + "title": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "item title"}, + "content-warning": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "body": {"type": "mediumtext", "comment": "item body content"}, + "location": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "text location where this item originated"}, + "coord": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "longitude/latitude pair representing location where this item originated"}, + "language": {"type": "text", "comment": "Language information about this post"}, + "app": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "application which generated this item"}, + "rendered-hash": {"type": "varchar(32)", "not null": "1", "default": "", "comment": ""}, + "rendered-html": {"type": "mediumtext", "comment": "item.body converted to html"}, + "object-type": {"type": "varchar(100)", "not null": "1", "default": "", "comment": "ActivityStreams object type"}, + "object": {"type": "text", "comment": "JSON encoded object structure unless it is an implied object (normal post)"}, + "target-type": {"type": "varchar(100)", "not null": "1", "default": "", "comment": "ActivityStreams target type if applicable (URI)"}, + "target": {"type": "text", "comment": "JSON encoded target structure if used"}, + "plink": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "permalink or URL to a displayable copy of the message at its source"}, + "verb": {"type": "varchar(100)", "not null": "1", "default": "", "comment": "ActivityStreams verb"} + }, + "indexes": { + "PRIMARY": ["id"], + "uri-plink-hash": ["UNIQUE", "uri-plink-hash"], + "uri": ["uri(191)"] + } + }, + "item-delivery-data": { + "comment": "Delivery data for items", + "fields": { + "iid": {"type": "int unsigned", "not null": "1", "primary": "1", "relation": {"item": "id"}, "comment": "Item id"}, + "postopts": {"type": "text", "comment": "External post connectors add their network name to this comma-separated string to identify that they should be delivered to these networks during delivery"}, + "inform": {"type": "mediumtext", "comment": "Additional receivers of the linked item"} + }, + "indexes": { + "PRIMARY": ["iid"] + } + }, + "locks": { + "comment": "", + "fields": { + "id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"}, + "name": {"type": "varchar(128)", "not null": "1", "default": "", "comment": ""}, + "locked": {"type": "boolean", "not null": "1", "default": "0", "comment": ""}, + "pid": {"type": "int unsigned", "not null": "1", "default": "0", "comment": "Process ID"}, + "expires": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "datetime of cache expiration"} + }, + "indexes": { + "PRIMARY": ["id"], + "name_expires": ["name", "expires"] + } + }, + "mail": { + "comment": "private messages", + "fields": { + "id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"}, + "uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "Owner User id"}, + "guid": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "A unique identifier for this private message"}, + "from-name": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "name of the sender"}, + "from-photo": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "contact photo link of the sender"}, + "from-url": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "profile linke of the sender"}, + "contact-id": {"type": "varchar(255)", "not null": "1", "default": "", "relation": {"contact": "id"}, "comment": "contact.id"}, + "convid": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"conv": "id"}, "comment": "conv.id"}, + "title": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "body": {"type": "mediumtext", "comment": ""}, + "seen": {"type": "boolean", "not null": "1", "default": "0", "comment": "if message visited it is 1"}, + "reply": {"type": "boolean", "not null": "1", "default": "0", "comment": ""}, + "replied": {"type": "boolean", "not null": "1", "default": "0", "comment": ""}, + "unknown": {"type": "boolean", "not null": "1", "default": "0", "comment": "if sender not in the contact table this is 1"}, + "uri": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "parent-uri": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "created": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "creation time of the private message"} + }, + "indexes": { + "PRIMARY": ["id"], + "uid_seen": ["uid", "seen"], + "convid": ["convid"], + "uri": ["uri(64)"], + "parent-uri": ["parent-uri(64)"], + "contactid": ["contact-id(32)"] + } + }, + "mailacct": { + "comment": "Mail account data for fetching mails", + "fields": { + "id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"}, + "uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "User id"}, + "server": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "port": {"type": "smallint unsigned", "not null": "1", "default": "0", "comment": ""}, + "ssltype": {"type": "varchar(16)", "not null": "1", "default": "", "comment": ""}, + "mailbox": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "user": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "pass": {"type": "text", "comment": ""}, + "reply_to": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "action": {"type": "tinyint unsigned", "not null": "1", "default": "0", "comment": ""}, + "movetofolder": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "pubmail": {"type": "boolean", "not null": "1", "default": "0", "comment": ""}, + "last_check": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""} + }, + "indexes": { + "PRIMARY": ["id"] + } + }, + "manage": { + "comment": "table of accounts that can manage each other", + "fields": { + "id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"}, + "uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "User id"}, + "mid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "User id"} + }, + "indexes": { + "PRIMARY": ["id"], + "uid_mid": ["UNIQUE", "uid", "mid"] + } + }, + "notify": { + "comment": "notifications", + "fields": { + "id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"}, + "hash": {"type": "varchar(64)", "not null": "1", "default": "", "comment": ""}, + "type": {"type": "smallint unsigned", "not null": "1", "default": "0", "comment": ""}, + "name": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "url": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "photo": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "date": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""}, + "msg": {"type": "mediumtext", "comment": ""}, + "uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "Owner User id"}, + "link": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "iid": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"item": "id"}, "comment": "item.id"}, + "parent": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"item": "id"}, "comment": ""}, + "seen": {"type": "boolean", "not null": "1", "default": "0", "comment": ""}, + "verb": {"type": "varchar(100)", "not null": "1", "default": "", "comment": ""}, + "otype": {"type": "varchar(10)", "not null": "1", "default": "", "comment": ""}, + "name_cache": {"type": "tinytext", "comment": "Cached bbcode parsing of name"}, + "msg_cache": {"type": "mediumtext", "comment": "Cached bbcode parsing of msg"} + }, + "indexes": { + "PRIMARY": ["id"], + "hash_uid": ["hash", "uid"], + "seen_uid_date": ["seen", "uid", "date"], + "uid_date": ["uid", "date"], + "uid_type_link": ["uid", "type", "link(190)"] + } + }, + "notify-threads": { + "comment": "", + "fields": { + "id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"}, + "notify-id": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"notify": "id"}, "comment": ""}, + "master-parent-item": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"item": "id"}, "comment": ""}, + "parent-item": {"type": "int unsigned", "not null": "1", "default": "0", "comment": ""}, + "receiver-uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "User id"} + }, + "indexes": { + "PRIMARY": ["id"] + } + }, + "oembed": { + "comment": "cache for OEmbed queries", + "fields": { + "url": {"type": "varbinary(255)", "not null": "1", "primary": "1", "comment": "page url"}, + "maxwidth": {"type": "mediumint unsigned", "not null": "1", "primary": "1", "comment": "Maximum width passed to Oembed"}, + "content": {"type": "mediumtext", "comment": "OEmbed data of the page"}, + "created": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "datetime of creation"} + }, + "indexes": { + "PRIMARY": ["url", "maxwidth"], + "created": ["created"] + } + }, + "openwebauth-token": { + "comment": "Store OpenWebAuth token to verify contacts", + "fields": { + "id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"}, + "uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "User id"}, + "type": {"type": "varchar(32)", "not null": "1", "default": "", "comment": "Verify type"}, + "token": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "A generated token"}, + "meta": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "created": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "datetime of creation"} + }, + "indexes": { + "PRIMARY": ["id"] + } + }, + "parsed_url": { + "comment": "cache for 'parse_url' queries", + "fields": { + "url": {"type": "varbinary(255)", "not null": "1", "primary": "1", "comment": "page url"}, + "guessing": {"type": "boolean", "not null": "1", "default": "0", "primary": "1", "comment": "is the 'guessing' mode active?"}, + "oembed": {"type": "boolean", "not null": "1", "default": "0", "primary": "1", "comment": "is the data the result of oembed?"}, + "content": {"type": "mediumtext", "comment": "page data"}, + "created": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "datetime of creation"} + }, + "indexes": { + "PRIMARY": ["url", "guessing", "oembed"], + "created": ["created"] + } + }, + "participation": { + "comment": "Storage for participation messages from Diaspora", + "fields": { + "iid": {"type": "int unsigned", "not null": "1", "primary": "1", "relation": {"item": "id"}, "comment": ""}, + "server": {"type": "varchar(60)", "not null": "1", "primary": "1", "comment": ""}, + "cid": {"type": "int unsigned", "not null": "1", "relation": {"contact": "id"}, "comment": ""}, + "fid": {"type": "int unsigned", "not null": "1", "relation": {"fcontact": "id"}, "comment": ""} + }, + "indexes": { + "PRIMARY": ["iid", "server"] + } + }, + "pconfig": { + "comment": "personal (per user) configuration storage", + "fields": { + "id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": ""}, + "uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "User id"}, + "cat": {"type": "varbinary(50)", "not null": "1", "default": "", "comment": ""}, + "k": {"type": "varbinary(100)", "not null": "1", "default": "", "comment": ""}, + "v": {"type": "mediumtext", "comment": ""} + }, + "indexes": { + "PRIMARY": ["id"], + "uid_cat_k": ["UNIQUE", "uid", "cat", "k"] + } + }, + "permissionset": { + "comment": "", + "fields": { + "id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"}, + "uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "Owner id of this permission set"}, + "allow_cid": {"type": "mediumtext", "comment": "Access Control - list of allowed contact.id '<19><78>'"}, + "allow_gid": {"type": "mediumtext", "comment": "Access Control - list of allowed groups"}, + "deny_cid": {"type": "mediumtext", "comment": "Access Control - list of denied contact.id"}, + "deny_gid": {"type": "mediumtext", "comment": "Access Control - list of denied groups"} + }, + "indexes": { + "PRIMARY": ["id"], + "uid_allow_cid_allow_gid_deny_cid_deny_gid": ["allow_cid(50)", "allow_gid(30)", "deny_cid(50)", "deny_gid(30)"] + } + }, + "photo": { + "comment": "photo storage", + "fields": { + "id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"}, + "uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "Owner User id"}, + "contact-id": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"contact": "id"}, "comment": "contact.id"}, + "guid": {"type": "char(16)", "not null": "1", "default": "", "comment": "A unique identifier for this photo"}, + "resource-id": {"type": "char(32)", "not null": "1", "default": "", "comment": ""}, + "created": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "creation date"}, + "edited": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "last edited date"}, + "title": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "desc": {"type": "text", "comment": ""}, + "album": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "The name of the album to which the photo belongs"}, + "filename": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "type": {"type": "varchar(30)", "not null": "1", "default": "image/jpeg"}, + "height": {"type": "smallint unsigned", "not null": "1", "default": "0", "comment": ""}, + "width": {"type": "smallint unsigned", "not null": "1", "default": "0", "comment": ""}, + "datasize": {"type": "int unsigned", "not null": "1", "default": "0", "comment": ""}, + "data": {"type": "mediumblob", "not null": "1", "comment": ""}, + "scale": {"type": "tinyint unsigned", "not null": "1", "default": "0", "comment": ""}, + "profile": {"type": "boolean", "not null": "1", "default": "0", "comment": ""}, + "allow_cid": {"type": "mediumtext", "comment": "Access Control - list of allowed contact.id '<19><78>'"}, + "allow_gid": {"type": "mediumtext", "comment": "Access Control - list of allowed groups"}, + "deny_cid": {"type": "mediumtext", "comment": "Access Control - list of denied contact.id"}, + "deny_gid": {"type": "mediumtext", "comment": "Access Control - list of denied groups"} + }, + "indexes": { + "PRIMARY": ["id"], + "contactid": ["contact-id"], + "uid_contactid": ["uid", "contact-id"], + "uid_profile": ["uid", "profile"], + "uid_album_scale_created": ["uid", "album(32)", "scale", "created"], + "uid_album_resource-id_created": ["uid", "album(32)", "resource-id", "created"], + "resource-id": ["resource-id"] + } + }, + "poll": { + "comment": "Currently unused table for storing poll results", + "fields": { + "id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": ""}, + "uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "User id"}, + "q0": {"type": "text", "comment": ""}, + "q1": {"type": "text", "comment": ""}, + "q2": {"type": "text", "comment": ""}, + "q3": {"type": "text", "comment": ""}, + "q4": {"type": "text", "comment": ""}, + "q5": {"type": "text", "comment": ""}, + "q6": {"type": "text", "comment": ""}, + "q7": {"type": "text", "comment": ""}, + "q8": {"type": "text", "comment": ""}, + "q9": {"type": "text", "comment": ""} + }, + "indexes": { + "PRIMARY": ["id"], + "uid": ["uid"] + } + }, + "poll_result": { + "comment": "data for polls - currently unused", + "fields": { + "id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"}, + "poll_id": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"poll": "id"}}, + "choice": {"type": "tinyint unsigned", "not null": "1", "default": "0", "comment": ""} + }, + "indexes": { + "PRIMARY": ["id"], + "poll_id": ["poll_id"] + } + }, + "process": { + "comment": "Currently running system processes", + "fields": { + "pid": {"type": "int unsigned", "not null": "1", "primary": "1", "comment": ""}, + "command": {"type": "varbinary(32)", "not null": "1", "default": "", "comment": ""}, + "created": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""} + }, + "indexes": { + "PRIMARY": ["pid"], + "command": ["command"] + } + }, + "profile": { + "comment": "user profiles data", + "fields": { + "id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"}, + "uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "Owner User id"}, + "profile-name": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "Name of the profile"}, + "is-default": {"type": "boolean", "not null": "1", "default": "0", "comment": "Mark this profile as default profile"}, + "hide-friends": {"type": "boolean", "not null": "1", "default": "0", "comment": "Hide friend list from viewers of this profile"}, + "name": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "pdesc": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "Title or description"}, + "dob": {"type": "varchar(32)", "not null": "1", "default": "0000-00-00", "comment": "Day of birth"}, + "address": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "locality": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "region": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "postal-code": {"type": "varchar(32)", "not null": "1", "default": "", "comment": ""}, + "country-name": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "hometown": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "gender": {"type": "varchar(32)", "not null": "1", "default": "", "comment": ""}, + "marital": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "with": {"type": "text", "comment": ""}, + "howlong": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""}, + "sexual": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "politic": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "religion": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "pub_keywords": {"type": "text", "comment": ""}, + "prv_keywords": {"type": "text", "comment": ""}, + "likes": {"type": "text", "comment": ""}, + "dislikes": {"type": "text", "comment": ""}, + "about": {"type": "text", "comment": ""}, + "summary": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "music": {"type": "text", "comment": ""}, + "book": {"type": "text", "comment": ""}, + "tv": {"type": "text", "comment": ""}, + "film": {"type": "text", "comment": ""}, + "interest": {"type": "text", "comment": ""}, + "romance": {"type": "text", "comment": ""}, + "work": {"type": "text", "comment": ""}, + "education": {"type": "text", "comment": ""}, + "contact": {"type": "text", "comment": ""}, + "homepage": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "xmpp": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "photo": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "thumb": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "publish": {"type": "boolean", "not null": "1", "default": "0", "comment": "publish default profile in local directory"}, + "net-publish": {"type": "boolean", "not null": "1", "default": "0", "comment": "publish profile in global directory"} + }, + "indexes": { + "PRIMARY": ["id"], + "uid_is-default": ["uid", "is-default"] + } + }, + "profile_check": { + "comment": "DFRN remote auth use", + "fields": { + "id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"}, + "uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "User id"}, + "cid": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"contact": "id"}, "comment": "contact.id"}, + "dfrn_id": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "sec": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "expire": {"type": "int unsigned", "not null": "1", "default": "0", "comment": ""} + }, + "indexes": { + "PRIMARY": ["id"] + } + }, + "push_subscriber": { + "comment": "Used for OStatus: Contains feed subscribers", + "fields": { + "id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"}, + "uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "User id"}, + "callback_url": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "topic": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "nickname": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "push": {"type": "tinyint", "not null": "1", "default": "0", "comment": "Retrial counter"}, + "last_update": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "Date of last successful trial"}, + "next_try": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "Next retrial date"}, + "renewed": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "Date of last subscription renewal"}, + "secret": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""} + }, + "indexes": { + "PRIMARY": ["id"], + "next_try": ["next_try"] + } + }, + "queue": { + "comment": "Queue for messages that couldn't be delivered", + "fields": { + "id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"}, + "cid": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"contact": "id"}, "comment": "Message receiver"}, + "network": {"type": "char(4)", "not null": "1", "default": "", "comment": "Receiver's network"}, + "guid": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "Unique GUID of the message"}, + "created": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "Date, when the message was created"}, + "last": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "Date of last trial"}, + "next": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "Next retrial date"}, + "retrial": {"type": "tinyint", "not null": "1", "default": "0", "comment": "Retrial counter"}, + "content": {"type": "mediumtext", "comment": ""}, + "batch": {"type": "boolean", "not null": "1", "default": "0", "comment": ""} + }, + "indexes": { + "PRIMARY": ["id"], + "last": ["last"], + "next": ["next"] + } + }, + "register": { + "comment": "registrations requiring admin approval", + "fields": { + "id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"}, + "hash": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "created": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""}, + "uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "User id"}, + "password": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "language": {"type": "varchar(16)", "not null": "1", "default": "", "comment": ""}, + "note": {"type": "text", "comment": ""} + }, + "indexes": { + "PRIMARY": ["id"] + } + }, + "search": { + "comment": "", + "fields": { + "id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"}, + "uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "User id"}, + "term": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""} + }, + "indexes": { + "PRIMARY": ["id"], + "uid": ["uid"] + } + }, + "session": { + "comment": "web session storage", + "fields": { + "id": {"type": "bigint unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"}, + "sid": {"type": "varbinary(255)", "not null": "1", "default": "", "comment": ""}, + "data": {"type": "text", "comment": ""}, + "expire": {"type": "int unsigned", "not null": "1", "default": "0", "comment": ""} + }, + "indexes": { + "PRIMARY": ["id"], + "sid": ["sid(64)"], + "expire": ["expire"] + } + }, + "sign": { + "comment": "Diaspora signatures", + "fields": { + "id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"}, + "iid": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"item": "id"}, "comment": "item.id"}, + "signed_text": {"type": "mediumtext", "comment": ""}, + "signature": {"type": "text", "comment": ""}, + "signer": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""} + }, + "indexes": { + "PRIMARY": ["id"], + "iid": ["UNIQUE", "iid"] + } + }, + "term": { + "comment": "item taxonomy (categories, tags, etc.) table", + "fields": { + "tid": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": ""}, + "oid": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"item": "id"}, "comment": ""}, + "otype": {"type": "tinyint unsigned", "not null": "1", "default": "0", "comment": ""}, + "type": {"type": "tinyint unsigned", "not null": "1", "default": "0", "comment": ""}, + "term": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "url": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "guid": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "created": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""}, + "received": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""}, + "global": {"type": "boolean", "not null": "1", "default": "0", "comment": ""}, + "uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "User id"} + }, + "indexes": { + "PRIMARY": ["tid"], + "oid_otype_type_term": ["oid", "otype", "type", "term(32)"], + "uid_otype_type_term_global_created": ["uid", "otype", "type", "term(32)", "global", "created"], + "uid_otype_type_url": ["uid", "otype", "type", "url(64)"], + "guid": ["guid(64)"] + } + }, + "thread": { + "comment": "Thread related data", + "fields": { + "iid": {"type": "int unsigned", "not null": "1", "default": "0", "primary": "1", "relation": {"item": "id"}, "comment": "sequential ID"}, + "uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "User id"}, + "contact-id": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"contact": "id"}, "comment": ""}, + "owner-id": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"contact": "id"}, "comment": "Item owner"}, + "author-id": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"contact": "id"}, "comment": "Item author"}, + "created": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""}, + "edited": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""}, + "commented": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""}, + "received": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""}, + "changed": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""}, + "wall": {"type": "boolean", "not null": "1", "default": "0", "comment": ""}, + "private": {"type": "boolean", "not null": "1", "default": "0", "comment": ""}, + "pubmail": {"type": "boolean", "not null": "1", "default": "0", "comment": ""}, + "moderated": {"type": "boolean", "not null": "1", "default": "0", "comment": ""}, + "visible": {"type": "boolean", "not null": "1", "default": "0", "comment": ""}, + "starred": {"type": "boolean", "not null": "1", "default": "0", "comment": ""}, + "ignored": {"type": "boolean", "not null": "1", "default": "0", "comment": ""}, + "post-type": {"type": "tinyint unsigned", "not null": "1", "default": "0", "comment": "Post type (personal note, bookmark, ...)"}, + "unseen": {"type": "boolean", "not null": "1", "default": "1", "comment": ""}, + "deleted": {"type": "boolean", "not null": "1", "default": "0", "comment": ""}, + "origin": {"type": "boolean", "not null": "1", "default": "0", "comment": ""}, + "forum_mode": {"type": "tinyint unsigned", "not null": "1", "default": "0", "comment": ""}, + "mention": {"type": "boolean", "not null": "1", "default": "0", "comment": ""}, + "network": {"type": "char(4)", "not null": "1", "default": "", "comment": ""}, + "bookmark": {"type": "boolean", "comment": ""} + }, + "indexes": { + "PRIMARY": ["iid"], + "uid_network_commented": ["uid", "network", "commented"], + "uid_network_created": ["uid", "network", "created"], + "uid_contactid_commented": ["uid", "contact-id", "commented"], + "uid_contactid_created": ["uid", "contact-id", "created"], + "contactid": ["contact-id"], + "ownerid": ["owner-id"], + "authorid": ["author-id"], + "uid_created": ["uid", "created"], + "uid_commented": ["uid", "commented"], + "uid_wall_created": ["uid", "wall", "created"], + "private_wall_origin_commented": ["private", "wall", "origin", "commented"] + } + }, + "tokens": { + "comment": "OAuth usage", + "fields": { + "id": {"type": "varchar(40)", "not null": "1", "primary": "1", "comment": ""}, + "secret": {"type": "text", "comment": ""}, + "client_id": {"type": "varchar(20)", "not null": "1", "default": "", "relation": {"clients": "client_id"}}, + "expires": {"type": "int", "not null": "1", "default": "0", "comment": ""}, + "scope": {"type": "varchar(200)", "not null": "1", "default": "", "comment": ""}, + "uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "User id"} + }, + "indexes": { + "PRIMARY": ["id"] + } + }, + "user": { + "comment": "The local users", + "fields": { + "uid": {"type": "mediumint unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"}, + "parent-uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "The parent user that has full control about this user"}, + "guid": {"type": "varchar(64)", "not null": "1", "default": "", "comment": "A unique identifier for this user"}, + "username": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "Name that this user is known by"}, + "password": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "encrypted password"}, + "legacy_password": {"type": "boolean", "not null": "1", "default": "0", "comment": "Is the password hash double-hashed?"}, + "nickname": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "nick- and user name"}, + "email": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "the users email address"}, + "openid": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}, + "timezone": {"type": "varchar(128)", "not null": "1", "default": "", "comment": "PHP-legal timezone"}, + "language": {"type": "varchar(32)", "not null": "1", "default": "en", "comment": "default language"}, + "register_date": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "timestamp of registration"}, + "login_date": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "timestamp of last login"}, + "default-location": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "Default for item.location"}, + "allow_location": {"type": "boolean", "not null": "1", "default": "0", "comment": "1 allows to display the location"}, + "theme": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "user theme preference"}, + "pubkey": {"type": "text", "comment": "RSA public key 4096 bit"}, + "prvkey": {"type": "text", "comment": "RSA private key 4096 bit"}, + "spubkey": {"type": "text", "comment": ""}, + "sprvkey": {"type": "text", "comment": ""}, + "verified": {"type": "boolean", "not null": "1", "default": "0", "comment": "user is verified through email"}, + "blocked": {"type": "boolean", "not null": "1", "default": "0", "comment": "1 for user is blocked"}, + "blockwall": {"type": "boolean", "not null": "1", "default": "0", "comment": "Prohibit contacts to post to the profile page of the user"}, + "hidewall": {"type": "boolean", "not null": "1", "default": "0", "comment": "Hide profile details from unkown viewers"}, + "blocktags": {"type": "boolean", "not null": "1", "default": "0", "comment": "Prohibit contacts to tag the post of this user"}, + "unkmail": {"type": "boolean", "not null": "1", "default": "0", "comment": "Permit unknown people to send private mails to this user"}, + "cntunkmail": {"type": "int unsigned", "not null": "1", "default": "10", "comment": ""}, + "notify-flags": {"type": "smallint unsigned", "not null": "1", "default": "65535", "comment": "email notification options"}, + "page-flags": {"type": "tinyint unsigned", "not null": "1", "default": "0", "comment": "page/profile type"}, + "account-type": {"type": "tinyint unsigned", "not null": "1", "default": "0", "comment": ""}, + "prvnets": {"type": "boolean", "not null": "1", "default": "0", "comment": ""}, + "pwdreset": {"type": "varchar(255)", "comment": "Password reset request token"}, + "pwdreset_time": {"type": "datetime", "comment": "Timestamp of the last password reset request"}, + "maxreq": {"type": "int unsigned", "not null": "1", "default": "10", "comment": ""}, + "expire": {"type": "int unsigned", "not null": "1", "default": "0", "comment": ""}, + "account_removed": {"type": "boolean", "not null": "1", "default": "0", "comment": "if 1 the account is removed"}, + "account_expired": {"type": "boolean", "not null": "1", "default": "0", "comment": ""}, + "account_expires_on": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "timestamp when account expires and will be deleted"}, + "expire_notification_sent": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "timestamp of last warning of account expiration"}, + "def_gid": {"type": "int unsigned", "not null": "1", "default": "0", "comment": ""}, + "allow_cid": {"type": "mediumtext", "comment": "default permission for this user"}, + "allow_gid": {"type": "mediumtext", "comment": "default permission for this user"}, + "deny_cid": {"type": "mediumtext", "comment": "default permission for this user"}, + "deny_gid": {"type": "mediumtext", "comment": "default permission for this user"}, + "openidserver": {"type": "text", "comment": ""} + }, + "indexes": { + "PRIMARY": ["uid"], + "nickname": ["nickname(32)"] + } + }, + "userd": { + "comment": "Deleted usernames", + "fields": { + "id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"}, + "username": {"type": "varchar(255)", "not null": "1", "comment": ""} + }, + "indexes": { + "PRIMARY": ["id"], + "username": ["username(32)"] + } + }, + "user-item": { + "comment": "User specific item data", + "fields": { + "iid": {"type": "int unsigned", "not null": "1", "default": "0", "primary": "1", "relation": {"item": "id"}, "comment": "Item id"}, + "uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "primary": "1", "relation": {"user": "uid"}, "comment": "User id"}, + "hidden": {"type": "boolean", "not null": "1", "default": "0", "comment": "Marker to hide an item from the user"} + }, + "indexes": { + "PRIMARY": ["uid", "iid"] + } + }, + "worker-ipc": { + "comment": "Inter process communication between the frontend and the worker", + "fields": { + "key": {"type": "int", "not null": "1", "primary": "1", "comment": ""}, + "jobs": {"type": "boolean", "comment": "Flag for outstanding jobs"} + }, + "indexes": { + "PRIMARY": ["key"] + }, + "engine": "MEMORY" + }, + "workerqueue": { + "comment": "Background tasks queue entries", + "fields": { + "id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "Auto incremented worker task id"}, + "parameter": {"type": "mediumblob", "comment": "Task command"}, + "priority": {"type": "tinyint unsigned", "not null": "1", "default": "0", "comment": "Task priority"}, + "created": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "Creation date"}, + "pid": {"type": "int unsigned", "not null": "1", "default": "0", "comment": "Process id of the worker"}, + "executed": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "Execution date"}, + "done": {"type": "boolean", "not null": "1", "default": "0", "comment": "Marked 1 when the task was done - will be deleted later"} + }, + "indexes": { + "PRIMARY": ["id"], + "pid": ["pid"], + "parameter": ["parameter(64)"], + "priority_created": ["priority", "created"], + "done_executed": ["done", "executed"] + } + } +} \ No newline at end of file