1CREATE TABLE addressbooks (
2    id INT(11) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
3    principaluri VARBINARY(255),
4    displayname VARCHAR(255),
5    uri VARBINARY(200),
6    description TEXT,
7    synctoken INT(11) UNSIGNED NOT NULL DEFAULT '1',
8    UNIQUE(principaluri(100), uri(100))
9) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
10
11CREATE TABLE cards (
12    id INT(11) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
13    addressbookid INT(11) UNSIGNED NOT NULL,
14    carddata MEDIUMBLOB,
15    uri VARBINARY(200),
16    lastmodified INT(11) UNSIGNED,
17    etag VARBINARY(32),
18    size INT(11) UNSIGNED NOT NULL
19) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
20
21CREATE TABLE addressbookchanges (
22    id INT(11) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
23    uri VARBINARY(200) NOT NULL,
24    synctoken INT(11) UNSIGNED NOT NULL,
25    addressbookid INT(11) UNSIGNED NOT NULL,
26    operation TINYINT(1) NOT NULL,
27    INDEX addressbookid_synctoken (addressbookid, synctoken)
28) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
29