friendica-github/doc/database/db_contact.md
Alexandre Alapetite d2901dcb00 Fix for MySQL 5.7+
https://github.com/friendica/friendica/issues/2786

Only tested on Ubuntu 16.10 with MySQL 5.7.17.

https://dev.mysql.com/doc/refman/8.0/en/timestamp-initialization.html

https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html#sqlmode_no_zero_date
As of MySQL 5.7.4, NO_ZERO_DATE is deprecated.

Patch based on the following search & replace (and then reverting some
changes in libraries):

```sh
grep -l '= "0000-00-00"' -r . | xargs sed -i -e "s/= \"0000-00-00\"/=
'0000-00-00'/g"

grep -l "0000-00-00" -r . | xargs sed -i -e "s/0000-00-00/0001-01-01/g"

grep -l "!= '0001-01-01'" -r . | xargs sed -i -e "s/!= '0001-01-01'/>
'0001-01-01'/g"

grep -l " === '0001-01-01'" -r . | xargs sed -i -e "s/ === '0001-01-01'/
<= '0001-01-01'/g"

grep -l " == '0001-01-01'" -r . | xargs sed -i -e "s/ == '0001-01-01'/
<= '0001-01-01'/g"

grep -l "strpos(\$dob, '0000-') === 0" -r . | xargs sed -i -e
"s/strpos(\$dob, '0000-') === 0/strpos(\$dob, '0000-') === 0 ||
strpos(\$dob, '0001-') === 0/g"

grep -l 'array("", "0001-01-01")' -r . | xargs sed -i -e 's/array("",
"0001-01-01")/array("", "0000-00-00", "0001-01-01")/g'

grep -l "\$dob = '0000-'" -r . | xargs sed -i -e "s/\$dob =
'0000-'/\$dob = '0001-'/g"
```
2017-04-11 23:00:45 +02:00

10 KiB

Table contact

Field Description Type Null Key Default Extra
id sequential ID int(11) NO PRI NULL auto_increment
uid user.id of the owner of this data int(11) NO MUL 0
created datetime NO 0001-01-01 00:00:00
self 1 if the contact is the user him/her self tinyint(1) NO 0
remote_self tinyint(1) NO 0
rel The kind of the relation between the user and the contact tinyint(1) NO 0
duplex tinyint(1) NO 0
network Network protocol of the contact varchar(255) NO
name Name that this contact is known by varchar(255) NO
nick Nick- and user name of the contact varchar(255) NO
location varchar(255) NO
about text NO NULL
keywords public keywords (interests) of the contact text NO NULL
gender varchar(32) NO
attag varchar(255) NO
photo Link to the profile photo of the contact text NO NULL
thumb Link to the profile photo (thumb size) text NO NULL
micro Link to the profile photo (micro size) text NO NULL
site-pubkey text NO NULL
issued-id varchar(255) NO
dfrn-id varchar(255) NO
url varchar(255) NO
nurl varchar(255) NO
addr varchar(255) NO
alias varchar(255) NO
pubkey RSA public key 4096 bit text NO NULL
prvkey RSA private key 4096 bit text NO NULL
batch varchar(255) NO
request text NO NULL
notify text NO NULL
poll text NO NULL
confirm text NO NULL
poco text NO NULL
aes_allow tinyint(1) NO 0
ret-aes tinyint(1) NO 0
usehub tinyint(1) NO 0
subhub tinyint(1) NO 0
hub-verify varchar(255) NO
last-update Date of the last try to update the contact info datetime NO 0001-01-01 00:00:00
success_update Date of the last successful contact update datetime NO 0001-01-01 00:00:00
failure_update Date of the last failed update datetime NO 0001-01-01 00:00:00
name-date datetime NO 0001-01-01 00:00:00
uri-date datetime NO 0001-01-01 00:00:00
avatar-date datetime NO 0001-01-01 00:00:00
term-date datetime NO 0001-01-01 00:00:00
last-item date of the last post datetime NO 0001-01-01 00:00:00
priority tinyint(3) NO 0
blocked tinyint(1) NO 1
readonly posts of the contact are readonly tinyint(1) NO 0
writable tinyint(1) NO 0
forum contact is a forum tinyint(1) NO 0
prv contact is a private group tinyint(1) NO 0
hidden tinyint(1) NO 0
archive tinyint(1) NO 0
pending tinyint(1) NO 1
rating tinyint(1) NO 0
reason text NO NULL
closeness tinyint(2) NO 99
info mediumtext NO NULL
profile-id int(11) NO 0
bdyear varchar(4) NO
bd date NO 0001-01-01
notify_new_posts tinyint(1) NO 0
fetch_further_information tinyint(1) NO 0
ffi_keyword_blacklist mediumtext NO NULL

Return to database documentation