147 lines
3.4 KiB
SQL
147 lines
3.4 KiB
SQL
CREATE TABLE addressbooks (
|
|
id integer primary key asc NOT NULL,
|
|
principaluri text NOT NULL,
|
|
displayname text,
|
|
uri text NOT NULL,
|
|
description text,
|
|
synctoken integer DEFAULT 1 NOT NULL
|
|
);
|
|
|
|
CREATE TABLE cards (
|
|
id integer primary key asc NOT NULL,
|
|
addressbookid integer NOT NULL,
|
|
carddata blob,
|
|
uri text NOT NULL,
|
|
lastmodified integer,
|
|
etag text,
|
|
size integer
|
|
);
|
|
|
|
CREATE TABLE addressbookchanges (
|
|
id integer primary key asc NOT NULL,
|
|
uri text,
|
|
synctoken integer NOT NULL,
|
|
addressbookid integer NOT NULL,
|
|
operation integer NOT NULL
|
|
);
|
|
|
|
CREATE INDEX addressbookid_synctoken ON addressbookchanges (addressbookid, synctoken);
|
|
CREATE TABLE calendarobjects (
|
|
id integer primary key asc NOT NULL,
|
|
calendardata blob NOT NULL,
|
|
uri text NOT NULL,
|
|
calendarid integer NOT NULL,
|
|
lastmodified integer NOT NULL,
|
|
etag text NOT NULL,
|
|
size integer NOT NULL,
|
|
componenttype text,
|
|
firstoccurence integer,
|
|
lastoccurence integer,
|
|
uid text
|
|
);
|
|
|
|
CREATE TABLE calendars (
|
|
id integer primary key asc NOT NULL,
|
|
synctoken integer DEFAULT 1 NOT NULL,
|
|
components text NOT NULL
|
|
);
|
|
|
|
CREATE TABLE calendarinstances (
|
|
id integer primary key asc NOT NULL,
|
|
calendarid integer,
|
|
principaluri text,
|
|
access integer,
|
|
displayname text,
|
|
uri text NOT NULL,
|
|
description text,
|
|
calendarorder integer,
|
|
calendarcolor text,
|
|
timezone text,
|
|
transparent bool,
|
|
share_href text,
|
|
share_displayname text,
|
|
share_invitestatus integer DEFAULT '2',
|
|
UNIQUE (principaluri, uri),
|
|
UNIQUE (calendarid, principaluri),
|
|
UNIQUE (calendarid, share_href)
|
|
);
|
|
|
|
CREATE TABLE calendarchanges (
|
|
id integer primary key asc NOT NULL,
|
|
uri text,
|
|
synctoken integer NOT NULL,
|
|
calendarid integer NOT NULL,
|
|
operation integer NOT NULL
|
|
);
|
|
|
|
CREATE INDEX calendarid_synctoken ON calendarchanges (calendarid, synctoken);
|
|
|
|
CREATE TABLE calendarsubscriptions (
|
|
id integer primary key asc NOT NULL,
|
|
uri text NOT NULL,
|
|
principaluri text NOT NULL,
|
|
source text NOT NULL,
|
|
displayname text,
|
|
refreshrate text,
|
|
calendarorder integer,
|
|
calendarcolor text,
|
|
striptodos bool,
|
|
stripalarms bool,
|
|
stripattachments bool,
|
|
lastmodified int
|
|
);
|
|
|
|
CREATE TABLE schedulingobjects (
|
|
id integer primary key asc NOT NULL,
|
|
principaluri text NOT NULL,
|
|
calendardata blob,
|
|
uri text NOT NULL,
|
|
lastmodified integer,
|
|
etag text NOT NULL,
|
|
size integer NOT NULL
|
|
);
|
|
|
|
CREATE INDEX principaluri_uri ON calendarsubscriptions (principaluri, uri);
|
|
BEGIN TRANSACTION;
|
|
CREATE TABLE locks (
|
|
id integer primary key asc NOT NULL,
|
|
owner text,
|
|
timeout integer,
|
|
created integer,
|
|
token text,
|
|
scope integer,
|
|
depth integer,
|
|
uri text
|
|
);
|
|
COMMIT;
|
|
CREATE TABLE principals (
|
|
id INTEGER PRIMARY KEY ASC NOT NULL,
|
|
uri TEXT NOT NULL,
|
|
email TEXT,
|
|
displayname TEXT,
|
|
UNIQUE(uri)
|
|
);
|
|
|
|
CREATE TABLE groupmembers (
|
|
id INTEGER PRIMARY KEY ASC NOT NULL,
|
|
principal_id INTEGER NOT NULL,
|
|
member_id INTEGER NOT NULL,
|
|
UNIQUE(principal_id, member_id)
|
|
);
|
|
|
|
CREATE TABLE propertystorage (
|
|
id integer primary key asc NOT NULL,
|
|
path text NOT NULL,
|
|
name text NOT NULL,
|
|
valuetype integer NOT NULL,
|
|
value string
|
|
);
|
|
|
|
|
|
CREATE UNIQUE INDEX path_property ON propertystorage (path, name);
|
|
CREATE TABLE users (
|
|
id integer primary key asc NOT NULL,
|
|
username TEXT NOT NULL,
|
|
digesta1 TEXT NOT NULL,
|
|
UNIQUE(username)
|
|
);
|