CREATE TABLE calendars ( id SERIAL NOT NULL, principaluri VARCHAR(100), displayname VARCHAR(100), uri VARCHAR(200), synctoken INTEGER NOT NULL DEFAULT 1, description TEXT, calendarorder INTEGER NOT NULL DEFAULT 0, calendarcolor VARCHAR(10), timezone TEXT, components VARCHAR(20), uid VARCHAR(200), transparent SMALLINT NOT NULL DEFAULT '0' ); ALTER TABLE ONLY calendars ADD CONSTRAINT calendars_pkey PRIMARY KEY (id); CREATE UNIQUE INDEX calendars_ukey ON calendars USING btree (principaluri, uri); CREATE TABLE calendarobjects ( id SERIAL NOT NULL, calendardata TEXT, uri VARCHAR(200), calendarid INTEGER NOT NULL, lastmodified INTEGER, etag VARCHAR(32), size INTEGER NOT NULL, componenttype VARCHAR(8), firstoccurence INTEGER, lastoccurence INTEGER, uid VARCHAR(200) ); ALTER TABLE ONLY calendarobjects ADD CONSTRAINT calendarobjects_pkey PRIMARY KEY (id); CREATE UNIQUE INDEX calendarobjects_ukey ON calendarobjects USING btree (calendarid, uri); ALTER TABLE ONLY calendarobjects ADD CONSTRAINT calendarobjects_calendarid_fkey FOREIGN KEY (calendarid) REFERENCES calendars(id) ON DELETE CASCADE; CREATE TABLE calendarsubscriptions ( id SERIAL NOT NULL, uri VARCHAR(200) NOT NULL, principaluri VARCHAR(100) NOT NULL, source TEXT, displayname VARCHAR(100), refreshrate VARCHAR(10), calendarorder INTEGER NOT NULL DEFAULT 0, calendarcolor VARCHAR(10), striptodos SMALLINT NULL, stripalarms SMALLINT NULL, stripattachments SMALLINT NULL, lastmodified INTEGER ); ALTER TABLE ONLY calendarsubscriptions ADD CONSTRAINT calendarsubscriptions_pkey PRIMARY KEY (id); CREATE UNIQUE INDEX calendarsubscriptions_ukey ON calendarsubscriptions USING btree (principaluri, uri); CREATE TABLE calendarchanges ( id SERIAL NOT NULL, uri VARCHAR(200) NOT NULL, synctoken INTEGER NOT NULL, calendarid INTEGER NOT NULL, operation SMALLINT NOT NULL DEFAULT 0 ); ALTER TABLE ONLY calendarchanges ADD CONSTRAINT calendarchanges_pkey PRIMARY KEY (id); CREATE INDEX calendarchanges_calendarid_synctoken_ix ON calendarchanges USING btree (calendarid, synctoken); ALTER TABLE ONLY calendarchanges ADD CONSTRAINT calendarchanges_calendar_fk FOREIGN KEY (calendarid) REFERENCES calendars(id) ON DELETE CASCADE; CREATE TABLE schedulingobjects ( id SERIAL NOT NULL, principaluri VARCHAR(255), calendardata BYTEA, uri VARCHAR(200), lastmodified INTEGER, etag VARCHAR(32), size INTEGER NOT NULL );