diff --git a/dba/davical.sql b/dba/davical.sql index 652ea002..67e7330a 100644 --- a/dba/davical.sql +++ b/dba/davical.sql @@ -310,7 +310,6 @@ CREATE TABLE access_ticket ( privileges BIT(24), target_collection_id INT8 NOT NULL REFERENCES collection(collection_id) ON UPDATE CASCADE ON DELETE CASCADE, target_resource_id INT8 REFERENCES caldav_data(dav_id) ON UPDATE CASCADE ON DELETE CASCADE, - dav_displayname TEXT, expires TIMESTAMP ); @@ -318,11 +317,10 @@ CREATE TABLE access_ticket ( -- At this point we only support binding collections CREATE TABLE dav_binding ( bind_id INT8 DEFAULT nextval('dav_id_seq') PRIMARY KEY, - target_ticket_id TEXT REFERENCES access_ticket(ticket_id) ON UPDATE CASCADE ON DELETE CASCADE, target_collection_id INT8 REFERENCES collection(collection_id) ON UPDATE CASCADE ON DELETE CASCADE, - dav_owner_id INT8 NOT NULL REFERENCES principal(principal_id) ON UPDATE CASCADE ON DELETE CASCADE, - parent_container TEXT, - dav_name TEXT, + target_ticket_id TEXT REFERENCES access_ticket(ticket_id) ON UPDATE CASCADE ON DELETE SET NULL, + parent_container TEXT NOT NULL, + dav_name TEXT UNIQUE NOT NULL, dav_displayname TEXT ); @@ -330,16 +328,16 @@ CREATE TABLE dav_binding ( CREATE TABLE collection_mashup ( mashup_id SERIAL PRIMARY KEY, dav_owner_id INT8 NOT NULL REFERENCES principal(principal_id) ON UPDATE CASCADE ON DELETE CASCADE, - parent_container TEXT, - dav_name TEXT, + parent_container TEXT NOT NULL, + dav_name TEXT UNIQUE NOT NULL, dav_displayname TEXT ); CREATE TABLE mashup_member ( mashup_id INT8 NOT NULL REFERENCES collection_mashup(mashup_id) ON UPDATE CASCADE ON DELETE CASCADE, - target_ticket_id TEXT REFERENCES access_ticket(ticket_id) ON UPDATE CASCADE ON DELETE CASCADE, target_collection_id INT8 REFERENCES collection(collection_id) ON UPDATE CASCADE ON DELETE CASCADE, + target_ticket_id TEXT REFERENCES access_ticket(ticket_id) ON UPDATE CASCADE ON DELETE SET NULL, member_colour TEXT ); @@ -384,6 +382,7 @@ CREATE TABLE calendar_alarm ( trigger TEXT, summary TEXT, description TEXT, + next_trigger TIMESTAMP WITH TIME ZONE, component TEXT -- The full text of the component ); diff --git a/dba/patches/1.2.8.sql b/dba/patches/1.2.8.sql index 598b7ed6..93b53f15 100644 --- a/dba/patches/1.2.8.sql +++ b/dba/patches/1.2.8.sql @@ -15,7 +15,6 @@ CREATE TABLE access_ticket ( privileges BIT(24), target_collection_id INT8 NOT NULL REFERENCES collection(collection_id) ON UPDATE CASCADE ON DELETE CASCADE, target_resource_id INT8 REFERENCES caldav_data(dav_id) ON UPDATE CASCADE ON DELETE CASCADE, - dav_displayname TEXT, expires TIMESTAMP ); @@ -23,11 +22,10 @@ CREATE TABLE access_ticket ( -- At this point we only support binding collections CREATE TABLE dav_binding ( bind_id INT8 DEFAULT nextval('dav_id_seq') PRIMARY KEY, - target_ticket_id TEXT REFERENCES access_ticket(ticket_id) ON UPDATE CASCADE ON DELETE CASCADE, target_collection_id INT8 REFERENCES collection(collection_id) ON UPDATE CASCADE ON DELETE CASCADE, - dav_owner_id INT8 NOT NULL REFERENCES principal(principal_id) ON UPDATE CASCADE ON DELETE CASCADE, - parent_container TEXT, - dav_name TEXT, + target_ticket_id TEXT REFERENCES access_ticket(ticket_id) ON UPDATE CASCADE ON DELETE SET NULL, + parent_container TEXT NOT NULL, + dav_name TEXT UNIQUE NOT NULL, dav_displayname TEXT ); @@ -35,16 +33,16 @@ CREATE TABLE dav_binding ( CREATE TABLE collection_mashup ( mashup_id SERIAL PRIMARY KEY, dav_owner_id INT8 NOT NULL REFERENCES principal(principal_id) ON UPDATE CASCADE ON DELETE CASCADE, - parent_container TEXT, - dav_name TEXT, + parent_container TEXT NOT NULL, + dav_name TEXT UNIQUE NOT NULL, dav_displayname TEXT ); CREATE TABLE mashup_member ( mashup_id INT8 NOT NULL REFERENCES collection_mashup(mashup_id) ON UPDATE CASCADE ON DELETE CASCADE, - target_ticket_id TEXT REFERENCES access_ticket(ticket_id) ON UPDATE CASCADE ON DELETE CASCADE, target_collection_id INT8 REFERENCES collection(collection_id) ON UPDATE CASCADE ON DELETE CASCADE, + target_ticket_id TEXT REFERENCES access_ticket(ticket_id) ON UPDATE CASCADE ON DELETE SET NULL, member_colour TEXT ); @@ -89,6 +87,7 @@ CREATE TABLE calendar_alarm ( trigger TEXT, summary TEXT, description TEXT, + next_trigger TIMESTAMP WITH TIME ZONE, component TEXT -- The full text of the component );