2018-10-21 07:56:58 +02:00
< ? php
/* Main database structure configuration file .
*
* Here are described all the tables , fields and indexes Friendica needs to work .
*
* Syntax ( braces indicate optionale values ) :
* " <table name> " => [
* " comment " => " Description of the table " ,
* " fields " => [
* " <field name> " => [
* " type " => " <field type> { (<field size>)} <unsigned> " ,
* " not null " => 0 | 1 ,
* { " extra " => " auto_increment " ,}
* { " default " => " <default value> " ,}
* { " default " => NULL_DATE ,} ( for datetime fields )
* { " primary " => " 1 " ,}
* { " relation " => [ " <foreign key table name> " => " <foreign key field name> " ],}
* " comment " => " Description of the fields "
* ],
* ...
* ],
* " indexes " => [
* " PRIMARY " => [ " <primary key field name> " , ... ],
* " <index name> " => [{ " UNIQUE " ,} " <field name> { (<key size>)} " , ... ]
* ...
* ],
* ],
*
2018-10-21 07:58:10 +02:00
* If you need to make any change , make sure to increment the DB_UPDATE_VERSION constant value below .
2018-10-21 07:56:58 +02:00
*
*/
use Friendica\Database\DBA ;
2018-10-21 07:58:10 +02:00
if ( ! defined ( 'DB_UPDATE_VERSION' )) {
2019-12-17 08:10:55 +01:00
define ( 'DB_UPDATE_VERSION' , 1327 );
2018-10-21 07:58:10 +02:00
}
2018-10-21 07:56:58 +02:00
return [
2019-07-22 13:39:28 +02:00
" 2fa_app_specific_password " => [
" comment " => " Two-factor app-specific _password " ,
" fields " => [
" id " => [ " type " => " mediumint unsigned " , " not null " => " 1 " , " extra " => " auto_increment " , " primary " => " 1 " , " comment " => " Password ID for revocation " ],
" uid " => [ " type " => " mediumint unsigned " , " not null " => " 1 " , " relation " => [ " user " => " uid " ], " comment " => " User ID " ],
" description " => [ " type " => " varchar(255) " , " comment " => " Description of the usage of the password " ],
2019-08-21 08:18:32 +02:00
" hashed_password " => [ " type " => " varchar(255) " , " not null " => " 1 " , " comment " => " Hashed password " ],
2019-07-22 13:39:28 +02:00
" generated " => [ " type " => " datetime " , " not null " => " 1 " , " comment " => " Datetime the password was generated " ],
" last_used " => [ " type " => " datetime " , " comment " => " Datetime the password was last used " ],
],
" indexes " => [
" PRIMARY " => [ " id " ],
2019-08-21 08:18:32 +02:00
" uid_description " => [ " uid " , " description(190) " ],
2019-07-22 13:39:28 +02:00
]
],
2019-05-13 07:19:05 +02:00
" 2fa_recovery_codes " => [
" comment " => " Two-factor authentication recovery codes " ,
" fields " => [
2019-05-16 21:53:07 +02:00
" uid " => [ " type " => " mediumint unsigned " , " not null " => " 1 " , " primary " => " 1 " , " relation " => [ " user " => " uid " ], " comment " => " User ID " ],
" code " => [ " type " => " varchar(50) " , " not null " => " 1 " , " primary " => " 1 " , " comment " => " Recovery code string " ],
2019-05-13 07:19:05 +02:00
" generated " => [ " type " => " datetime " , " not null " => " 1 " , " comment " => " Datetime the code was generated " ],
" used " => [ " type " => " datetime " , " comment " => " Datetime the code was used " ],
],
" indexes " => [
" PRIMARY " => [ " uid " , " code " ]
]
],
2018-10-21 07:56:58 +02:00
" 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 " ],
]
],
" apcontact " => [
" comment " => " ActivityPub compatible contacts - used in the ActivityPub implementation " ,
" fields " => [
" url " => [ " type " => " varbinary(255) " , " not null " => " 1 " , " primary " => " 1 " , " comment " => " URL of the contact " ],
" uuid " => [ " type " => " varchar(255) " , " comment " => " " ],
" type " => [ " type " => " varchar(20) " , " not null " => " 1 " , " comment " => " " ],
" following " => [ " type " => " varchar(255) " , " comment " => " " ],
" followers " => [ " type " => " varchar(255) " , " comment " => " " ],
" inbox " => [ " type " => " varchar(255) " , " not null " => " 1 " , " comment " => " " ],
" outbox " => [ " type " => " varchar(255) " , " comment " => " " ],
" sharedinbox " => [ " type " => " varchar(255) " , " comment " => " " ],
2019-01-14 07:36:08 +01:00
" manually-approve " => [ " type " => " boolean " , " comment " => " " ],
2018-10-21 07:56:58 +02:00
" nick " => [ " type " => " varchar(255) " , " not null " => " 1 " , " default " => " " , " comment " => " " ],
" name " => [ " type " => " varchar(255) " , " comment " => " " ],
" about " => [ " type " => " text " , " comment " => " " ],
" photo " => [ " type " => " varchar(255) " , " comment " => " " ],
" addr " => [ " type " => " varchar(255) " , " comment " => " " ],
" alias " => [ " type " => " varchar(255) " , " comment " => " " ],
" pubkey " => [ " type " => " text " , " comment " => " " ],
" baseurl " => [ " type " => " varchar(255) " , " comment " => " baseurl of the ap contact " ],
2019-05-02 15:05:31 +02:00
" generator " => [ " type " => " varchar(255) " , " comment " => " Name of the contact's system " ],
2019-12-11 01:05:50 +01:00
" following_count " => [ " type " => " int unsigned " , " default " => 0 , " comment " => " Number of following contacts " ],
" followers_count " => [ " type " => " int unsigned " , " default " => 0 , " comment " => " Number of followers " ],
" statuses_count " => [ " type " => " int unsigned " , " default " => 0 , " comment " => " Number of posts " ],
2018-10-21 07:56:58 +02:00
" updated " => [ " type " => " datetime " , " not null " => " 1 " , " default " => DBA :: NULL_DATETIME , " comment " => " " ]
],
" indexes " => [
" PRIMARY " => [ " url " ],
" addr " => [ " addr(32) " ],
" alias " => [ " alias(190) " ],
" url " => [ " followers(190) " ]
]
],
" 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 " => DBA :: NULL_DATETIME , " comment " => " creation time " ],
" edited " => [ " type " => " datetime " , " not null " => " 1 " , " default " => DBA :: NULL_DATETIME , " comment " => " last edit time " ],
2019-10-28 21:59:55 +01:00
" 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 " ],
2019-01-02 15:13:05 +01:00
" backend-class " => [ " type " => " tinytext " , " comment " => " Storage backend class " ],
" backend-ref " => [ " type " => " text " , " comment " => " Storage backend data reference " ],
2018-10-21 07:56:58 +02:00
],
" 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 " => DBA :: NULL_DATETIME , " comment " => " datetime of cache expiration " ],
" updated " => [ " type " => " datetime " , " not null " => " 1 " , " default " => DBA :: NULL_DATETIME , " 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 " => DBA :: NULL_DATETIME , " comment " => " " ],
2019-04-09 07:15:23 +02:00
" updated " => [ " type " => " datetime " , " default " => DBA :: NULL_DATETIME , " comment " => " Date of last contact update " ],
2018-10-21 07:56:58 +02:00
" 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 " => " " ],
2019-05-02 15:05:31 +02:00
" network " => [ " type " => " char(4) " , " not null " => " 1 " , " default " => " " , " comment " => " Network of the contact " ],
" protocol " => [ " type " => " char(4) " , " not null " => " 1 " , " default " => " " , " comment " => " Protocol of the contact " ],
2018-10-21 07:56:58 +02:00
" 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 " ],
2019-04-09 07:50:51 +02:00
" location " => [ " type " => " varchar(255) " , " default " => " " , " comment " => " " ],
2018-10-21 07:56:58 +02:00
" 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 " => DBA :: NULL_DATETIME , " comment " => " Date of the last try to update the contact info " ],
" success_update " => [ " type " => " datetime " , " not null " => " 1 " , " default " => DBA :: NULL_DATETIME , " comment " => " Date of the last successful contact update " ],
" failure_update " => [ " type " => " datetime " , " not null " => " 1 " , " default " => DBA :: NULL_DATETIME , " comment " => " Date of the last failed update " ],
" name-date " => [ " type " => " datetime " , " not null " => " 1 " , " default " => DBA :: NULL_DATETIME , " comment " => " " ],
" uri-date " => [ " type " => " datetime " , " not null " => " 1 " , " default " => DBA :: NULL_DATETIME , " comment " => " " ],
" avatar-date " => [ " type " => " datetime " , " not null " => " 1 " , " default " => DBA :: NULL_DATETIME , " comment " => " " ],
" term-date " => [ " type " => " datetime " , " not null " => " 1 " , " default " => DBA :: NULL_DATETIME , " comment " => " " ],
" last-item " => [ " type " => " datetime " , " not null " => " 1 " , " default " => DBA :: NULL_DATETIME , " comment " => " date of the last post " ],
" priority " => [ " type " => " tinyint unsigned " , " not null " => " 1 " , " default " => " 0 " , " comment " => " " ],
2019-05-16 01:27:36 +02:00
" blocked " => [ " type " => " boolean " , " not null " => " 1 " , " default " => " 1 " , " comment " => " Node-wide block status " ],
" block_reason " => [ " type " => " text " , " comment " => " Node-wide block reason " ],
2018-10-21 07:56:58 +02:00
" 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 " => " " ],
" deleted " => [ " type " => " boolean " , " not null " => " 1 " , " default " => " 0 " , " comment " => " Contact has been deleted " ],
" rating " => [ " type " => " tinyint " , " not null " => " 1 " , " default " => " 0 " , " comment " => " " ],
2019-07-04 06:08:55 +02:00
" unsearchable " => [ " type " => " boolean " , " not null " => " 1 " , " default " => " 0 " , " comment " => " Contact prefers to not be searchable " ],
" sensitive " => [ " type " => " boolean " , " not null " => " 1 " , " default " => " 0 " , " comment " => " Contact posts sensitive content " ],
" baseurl " => [ " type " => " varchar(255) " , " default " => " " , " comment " => " baseurl of the contact " ],
2018-10-21 07:56:58 +02:00
" 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 " => DBA :: NULL_DATE , " 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 " => DBA :: NULL_DATETIME , " comment " => " creation timestamp " ],
" updated " => [ " type " => " datetime " , " not null " => " 1 " , " default " => DBA :: NULL_DATETIME , " 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 " => " Original URI of the item - unrelated to the table with the same name " ],
" 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 " => " 255 " , " comment " => " The protocol of the item " ],
" source " => [ " type " => " mediumtext " , " comment " => " Original source " ],
" received " => [ " type " => " datetime " , " not null " => " 1 " , " default " => DBA :: NULL_DATETIME , " comment " => " Receiving date " ],
],
" indexes " => [
" PRIMARY " => [ " item-uri " ],
" conversation-uri " => [ " conversation-uri " ],
" received " => [ " received " ],
]
],
" diaspora-interaction " => [
" comment " => " Signed Diaspora Interaction " ,
" fields " => [
" uri-id " => [ " type " => " int unsigned " , " not null " => " 1 " , " primary " => " 1 " , " relation " => [ " item-uri " => " id " ], " comment " => " Id of the item-uri table entry that contains the item uri " ],
" interaction " => [ " type " => " mediumtext " , " comment " => " The Diaspora interaction " ]
],
" indexes " => [
" PRIMARY " => [ " uri-id " ]
]
],
" 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 " => DBA :: NULL_DATETIME , " comment " => " creation time " ],
" edited " => [ " type " => " datetime " , " not null " => " 1 " , " default " => DBA :: NULL_DATETIME , " comment " => " last edit time " ],
" start " => [ " type " => " datetime " , " not null " => " 1 " , " default " => DBA :: NULL_DATETIME , " comment " => " event start time " ],
" finish " => [ " type " => " datetime " , " not null " => " 1 " , " default " => DBA :: NULL_DATETIME , " 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 " ],
2019-10-28 21:59:55 +01:00
" 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 " ],
2018-10-21 07:56:58 +02:00
],
" 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 " => DBA :: NULL_DATETIME , " 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 " => DBA :: NULL_DATETIME , " 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 " => DBA :: NULL_DATETIME , " comment " => " " ],
" updated " => [ " type " => " datetime " , " default " => DBA :: NULL_DATETIME , " comment " => " " ],
" last_contact " => [ " type " => " datetime " , " default " => DBA :: NULL_DATETIME , " comment " => " " ],
" last_failure " => [ " type " => " datetime " , " default " => DBA :: NULL_DATETIME , " comment " => " " ],
2019-07-02 11:06:48 +02:00
" archive_date " => [ " type " => " datetime " , " default " => DBA :: NULL_DATETIME , " comment " => " " ],
" archived " => [ " type " => " boolean " , " not null " => " 1 " , " default " => " 0 " , " comment " => " " ],
2018-10-21 07:56:58 +02:00
" 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 " => DBA :: NULL_DATE , " 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 " => DBA :: NULL_DATETIME , " 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 " => DBA :: NULL_DATETIME , " comment " => " " ],
" last_poco_query " => [ " type " => " datetime " , " default " => DBA :: NULL_DATETIME , " comment " => " " ],
" last_contact " => [ " type " => " datetime " , " default " => DBA :: NULL_DATETIME , " comment " => " " ],
" last_failure " => [ " type " => " datetime " , " default " => DBA :: NULL_DATETIME , " 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 " ],
]
],
2019-03-25 22:51:32 +01:00
" inbox-status " => [
" comment " => " Status of ActivityPub inboxes " ,
" fields " => [
" url " => [ " type " => " varbinary(255) " , " not null " => " 1 " , " primary " => " 1 " , " comment " => " URL of the inbox " ],
" created " => [ " type " => " datetime " , " not null " => " 1 " , " default " => DBA :: NULL_DATETIME , " comment " => " Creation date of this entry " ],
" success " => [ " type " => " datetime " , " not null " => " 1 " , " default " => DBA :: NULL_DATETIME , " comment " => " Date of the last successful delivery " ],
" failure " => [ " type " => " datetime " , " not null " => " 1 " , " default " => DBA :: NULL_DATETIME , " comment " => " Date of the last failed delivery " ],
" previous " => [ " type " => " datetime " , " not null " => " 1 " , " default " => DBA :: NULL_DATETIME , " comment " => " Previous delivery date " ],
2019-03-26 06:14:47 +01:00
" archive " => [ " type " => " boolean " , " not null " => " 1 " , " default " => " 0 " , " comment " => " Is the inbox archived? " ],
" shared " => [ " type " => " boolean " , " not null " => " 1 " , " default " => " 0 " , " comment " => " Is it a shared inbox? " ]
2019-03-25 22:51:32 +01:00
],
" indexes " => [
" PRIMARY " => [ " url " ]
]
],
2018-10-21 07:56:58 +02:00
" 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 " => DBA :: NULL_DATETIME , " 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-id " => [ " type " => " int unsigned " , " relation " => [ " item-uri " => " id " ], " comment " => " Id of the item-uri table entry that contains the item uri " ],
" 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 " ],
" parent-uri-id " => [ " type " => " int unsigned " , " relation " => [ " item-uri " => " id " ], " comment " => " Id of the item-uri table that contains the parent uri " ],
" 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 " ],
" thr-parent-id " => [ " type " => " int unsigned " , " relation " => [ " item-uri " => " id " ], " comment " => " Id of the item-uri table that contains the thread parent uri " ],
" created " => [ " type " => " datetime " , " not null " => " 1 " , " default " => DBA :: NULL_DATETIME , " comment " => " Creation timestamp. " ],
" edited " => [ " type " => " datetime " , " not null " => " 1 " , " default " => DBA :: NULL_DATETIME , " comment " => " Date of last edit (default is created) " ],
" commented " => [ " type " => " datetime " , " not null " => " 1 " , " default " => DBA :: NULL_DATETIME , " comment " => " Date of last comment/reply to this item " ],
" received " => [ " type " => " datetime " , " not null " => " 1 " , " default " => DBA :: NULL_DATETIME , " comment " => " datetime " ],
" changed " => [ " type " => " datetime " , " not null " => " 1 " , " default " => DBA :: NULL_DATETIME , " 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 " ],
// User specific fields. Eventually they will move to user-item
" 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 " ],
// It has to be decided whether these fields belong to the user or the structure
" 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 " ],
// Could possibly be replaced by the "attach" table?
" attach " => [ " type " => " mediumtext " , " comment " => " JSON structure representing attachments to this item " ],
// Deprecated fields. Will be removed in upcoming versions
2019-10-28 21:59:55 +01:00
" allow_cid " => [ " type " => " mediumtext " , " comment " => " Deprecated " ],
" allow_gid " => [ " type " => " mediumtext " , " comment " => " Deprecated " ],
" deny_cid " => [ " type " => " mediumtext " , " comment " => " Deprecated " ],
" deny_gid " => [ " type " => " mediumtext " , " comment " => " Deprecated " ],
2018-10-21 07:56:58 +02:00
" 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 " ],
2019-07-07 23:30:33 +02:00
" uid_received " => [ " uid " , " received " ],
2018-10-21 07:56:58 +02:00
" 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) " ],
2019-07-07 23:30:33 +02:00
" uid_contactid_received " => [ " uid " , " contact-id " , " received " ],
" authorid_received " => [ " author-id " , " received " ],
2018-10-21 07:56:58 +02:00
" ownerid " => [ " owner-id " ],
2018-12-02 17:25:25 +01:00
" contact-id " => [ " contact-id " ],
2018-10-21 07:56:58 +02:00
" uid_uri " => [ " uid " , " uri(190) " ],
" resource-id " => [ " resource-id " ],
" deleted_changed " => [ " deleted " , " changed " ],
" uid_wall_changed " => [ " uid " , " wall " , " changed " ],
2019-12-15 14:14:55 +01:00
" mention_uid_id " => [ " mention " , " uid " , " id " ],
2018-10-21 07:56:58 +02:00
" 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-id " => [ " type " => " int unsigned " , " relation " => [ " item-uri " => " id "