pjs/calendar/providers/storage/schema-2.sql

98 строки
1.7 KiB
SQL

CREATE TABLE cal_calendar_schema_version (
version INTEGER
);
CREATE TABLE cal_items (
cal_id INTEGER, -- REFERENCES cal_calendars.id,
-- 0: event, 1: todo
item_type INTEGER,
-- ItemBase bits
id STRING,
time_created INTEGER,
last_modified INTEGER,
title STRING,
priority INTEGER,
privacy STRING,
ical_status STRING,
-- CAL_ITEM_FLAG_PRIVATE = 1
-- CAL_ITEM_FLAG_HAS_ATTENDEES = 2
-- CAL_ITEM_FLAG_HAS_PROPERTIES = 4
-- CAL_ITEM_FLAG_EVENT_ALLDAY = 8
-- CAL_ITEM_FLAG_HAS_RECURRENCE = 16
flags INTEGER,
-- Event bits
event_start INTEGER,
event_end INTEGER,
event_stamp INTEGER,
-- Todo bits
todo_entry INTEGER,
todo_due INTEGER,
todo_completed INTEGER,
todo_complete INTEGER,
-- internal bits
alarm_id INTEGER -- REFERENCES cal_alarms.id ON DELETE CASCADE
);
CREATE TABLE cal_attendees (
item_id STRING,
attendee_id STRING,
common_name STRING,
rsvp INTEGER,
role STRING,
status STRING,
type STRING
);
CREATE TABLE cal_alarms (
id INTEGER PRIMARY KEY,
alarm_data BLOB
);
CREATE TABLE cal_recurrence (
item_id STRING,
recur_index INTEGER, -- the index in the recurrence array of this thing
recur_type STRING, -- values from calIRecurrenceInfo; if null, date-based.
is_negative BOOLEAN,
--
-- these are for date-based recurrence
--
-- comma-separated list of dates
dates STRING,
--
-- these are for rule-based recurrence
--
count INTEGER,
end_date INTEGER,
interval INTEGER,
-- components, comma-separated list or null
second STRING,
minute STRING,
hour STRING,
day STRING,
monthday STRING,
yearday STRING,
weekno STRING,
month STRING,
setpos STRING
);
CREATE TABLE cal_properties (
item_id STRING,
key STRING,
value BLOB
);