mirror of
https://github.com/lennart-k/rustical.git
synced 2025-12-13 19:22:26 +00:00
39 lines
1.2 KiB
SQL
39 lines
1.2 KiB
SQL
CREATE TABLE addressbooks (
|
|
principal TEXT NOT NULL,
|
|
id TEXT NOT NULL,
|
|
synctoken INTEGER DEFAULT 0 NOT NULL,
|
|
displayname TEXT,
|
|
description TEXT,
|
|
deleted_at DATETIME,
|
|
push_topic TEXT UNIQUE NOT NULL,
|
|
PRIMARY KEY (principal, id),
|
|
CONSTRAINT fk_addressbook_principal FOREIGN KEY (principal)
|
|
REFERENCES principals (id) ON DELETE RESTRICT
|
|
);
|
|
|
|
CREATE TABLE addressobjects (
|
|
principal TEXT NOT NULL,
|
|
addressbook_id TEXT NOT NULL,
|
|
id TEXT NOT NULL,
|
|
vcf TEXT NOT NULL,
|
|
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
deleted_at DATETIME,
|
|
PRIMARY KEY (principal, addressbook_id, id),
|
|
FOREIGN KEY (principal, addressbook_id)
|
|
REFERENCES addressbooks (principal, id) ON DELETE CASCADE
|
|
);
|
|
|
|
CREATE TABLE addressobjectchangelog (
|
|
principal TEXT NOT NULL,
|
|
addressbook_id TEXT NOT NULL,
|
|
object_id TEXT NOT NULL,
|
|
"operation" INTEGER NOT NULL,
|
|
synctoken INTEGER DEFAULT 0 NOT NULL,
|
|
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (principal, addressbook_id, synctoken, created_at),
|
|
FOREIGN KEY (principal, addressbook_id)
|
|
REFERENCES addressbooks (principal, id) ON DELETE CASCADE
|
|
);
|
|
|
|
CREATE INDEX idx_addrobj_log_cal ON addressobjectchangelog (addressbook_id);
|