Files
coco 723ce1af5c a
2026-07-03 15:12:48 +08:00

1326 lines
43 KiB
JSON

{
"formatVersion": 1,
"database": {
"version": 5,
"identityHash": "9dd4a0adfd9468d4a2a0a4505ba9b3a8",
"entities": [
{
"tableName": "attendee",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `icalObjectId` INTEGER NOT NULL, `caladdress` TEXT NOT NULL, `cutype` TEXT, `member` TEXT, `role` TEXT, `partstat` TEXT, `rsvp` INTEGER, `delegatedto` TEXT, `delegatedfrom` TEXT, `sentby` TEXT, `cn` TEXT, `dir` TEXT, `language` TEXT, `other` TEXT, FOREIGN KEY(`icalObjectId`) REFERENCES `icalobject`(`_id`) ON UPDATE NO ACTION ON DELETE CASCADE )",
"fields": [
{
"fieldPath": "attendeeId",
"columnName": "_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "icalObjectId",
"columnName": "icalObjectId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "caladdress",
"columnName": "caladdress",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "cutype",
"columnName": "cutype",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "member",
"columnName": "member",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "role",
"columnName": "role",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "partstat",
"columnName": "partstat",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "rsvp",
"columnName": "rsvp",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "delegatedto",
"columnName": "delegatedto",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "delegatedfrom",
"columnName": "delegatedfrom",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "sentby",
"columnName": "sentby",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "cn",
"columnName": "cn",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "dir",
"columnName": "dir",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "language",
"columnName": "language",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "other",
"columnName": "other",
"affinity": "TEXT",
"notNull": false
}
],
"primaryKey": {
"columnNames": [
"_id"
],
"autoGenerate": true
},
"indices": [
{
"name": "index_attendee__id",
"unique": false,
"columnNames": [
"_id"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_attendee__id` ON `${TABLE_NAME}` (`_id`)"
},
{
"name": "index_attendee_icalObjectId",
"unique": false,
"columnNames": [
"icalObjectId"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_attendee_icalObjectId` ON `${TABLE_NAME}` (`icalObjectId`)"
}
],
"foreignKeys": [
{
"table": "icalobject",
"onDelete": "CASCADE",
"onUpdate": "NO ACTION",
"columns": [
"icalObjectId"
],
"referencedColumns": [
"_id"
]
}
]
},
{
"tableName": "category",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `icalObjectId` INTEGER NOT NULL, `text` TEXT NOT NULL, `language` TEXT, `other` TEXT, FOREIGN KEY(`icalObjectId`) REFERENCES `icalobject`(`_id`) ON UPDATE NO ACTION ON DELETE CASCADE )",
"fields": [
{
"fieldPath": "categoryId",
"columnName": "_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "icalObjectId",
"columnName": "icalObjectId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "text",
"columnName": "text",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "language",
"columnName": "language",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "other",
"columnName": "other",
"affinity": "TEXT",
"notNull": false
}
],
"primaryKey": {
"columnNames": [
"_id"
],
"autoGenerate": true
},
"indices": [
{
"name": "index_category__id_icalObjectId",
"unique": false,
"columnNames": [
"_id",
"icalObjectId"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_category__id_icalObjectId` ON `${TABLE_NAME}` (`_id`, `icalObjectId`)"
},
{
"name": "index_category_text",
"unique": false,
"columnNames": [
"text"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_category_text` ON `${TABLE_NAME}` (`text`)"
},
{
"name": "index_category__id",
"unique": false,
"columnNames": [
"_id"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_category__id` ON `${TABLE_NAME}` (`_id`)"
},
{
"name": "index_category_icalObjectId",
"unique": false,
"columnNames": [
"icalObjectId"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_category_icalObjectId` ON `${TABLE_NAME}` (`icalObjectId`)"
}
],
"foreignKeys": [
{
"table": "icalobject",
"onDelete": "CASCADE",
"onUpdate": "NO ACTION",
"columns": [
"icalObjectId"
],
"referencedColumns": [
"_id"
]
}
]
},
{
"tableName": "comment",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `icalObjectId` INTEGER NOT NULL, `text` TEXT NOT NULL, `altrep` TEXT, `language` TEXT, `other` TEXT, FOREIGN KEY(`icalObjectId`) REFERENCES `icalobject`(`_id`) ON UPDATE NO ACTION ON DELETE CASCADE )",
"fields": [
{
"fieldPath": "commentId",
"columnName": "_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "icalObjectId",
"columnName": "icalObjectId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "text",
"columnName": "text",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "altrep",
"columnName": "altrep",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "language",
"columnName": "language",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "other",
"columnName": "other",
"affinity": "TEXT",
"notNull": false
}
],
"primaryKey": {
"columnNames": [
"_id"
],
"autoGenerate": true
},
"indices": [
{
"name": "index_comment__id",
"unique": false,
"columnNames": [
"_id"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_comment__id` ON `${TABLE_NAME}` (`_id`)"
},
{
"name": "index_comment_icalObjectId",
"unique": false,
"columnNames": [
"icalObjectId"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_comment_icalObjectId` ON `${TABLE_NAME}` (`icalObjectId`)"
}
],
"foreignKeys": [
{
"table": "icalobject",
"onDelete": "CASCADE",
"onUpdate": "NO ACTION",
"columns": [
"icalObjectId"
],
"referencedColumns": [
"_id"
]
}
]
},
{
"tableName": "collection",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `url` TEXT NOT NULL, `displayname` TEXT, `description` TEXT, `owner` TEXT, `color` INTEGER, `supportsVEVENT` INTEGER NOT NULL, `supportsVTODO` INTEGER NOT NULL, `supportsVJOURNAL` INTEGER NOT NULL, `accountname` TEXT, `accounttype` TEXT, `syncversion` TEXT, `readonly` INTEGER NOT NULL)",
"fields": [
{
"fieldPath": "collectionId",
"columnName": "_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "url",
"columnName": "url",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "displayName",
"columnName": "displayname",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "description",
"columnName": "description",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "owner",
"columnName": "owner",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "color",
"columnName": "color",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "supportsVEVENT",
"columnName": "supportsVEVENT",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "supportsVTODO",
"columnName": "supportsVTODO",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "supportsVJOURNAL",
"columnName": "supportsVJOURNAL",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "accountName",
"columnName": "accountname",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "accountType",
"columnName": "accounttype",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "syncversion",
"columnName": "syncversion",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "readonly",
"columnName": "readonly",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"_id"
],
"autoGenerate": true
},
"indices": [
{
"name": "index_collection__id",
"unique": false,
"columnNames": [
"_id"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_collection__id` ON `${TABLE_NAME}` (`_id`)"
}
],
"foreignKeys": []
},
{
"tableName": "icalobject",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `module` TEXT NOT NULL, `component` TEXT NOT NULL, `summary` TEXT, `description` TEXT, `dtstart` INTEGER, `dtstarttimezone` TEXT, `dtend` INTEGER, `dtendtimezone` TEXT, `status` TEXT, `classification` TEXT, `url` TEXT, `contact` TEXT, `geolat` REAL, `geolong` REAL, `location` TEXT, `locationaltrep` TEXT, `percent` INTEGER, `priority` INTEGER, `due` INTEGER, `duetimezone` TEXT, `completed` INTEGER, `completedtimezone` TEXT, `duration` TEXT, `uid` TEXT NOT NULL, `created` INTEGER NOT NULL, `dtstamp` INTEGER NOT NULL, `lastmodified` INTEGER NOT NULL, `sequence` INTEGER NOT NULL, `rrule` TEXT, `exdate` TEXT, `rdate` TEXT, `recurid` TEXT, `recur_original_icalobjectid` INTEGER, `recur_islinkedinstance` INTEGER NOT NULL, `rstatus` TEXT, `color` INTEGER, `collectionId` INTEGER NOT NULL, `dirty` INTEGER NOT NULL, `deleted` INTEGER NOT NULL, `filename` TEXT, `etag` TEXT, `scheduletag` TEXT, `flags` INTEGER, FOREIGN KEY(`collectionId`) REFERENCES `collection`(`_id`) ON UPDATE NO ACTION ON DELETE CASCADE )",
"fields": [
{
"fieldPath": "id",
"columnName": "_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "module",
"columnName": "module",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "component",
"columnName": "component",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "summary",
"columnName": "summary",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "description",
"columnName": "description",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "dtstart",
"columnName": "dtstart",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "dtstartTimezone",
"columnName": "dtstarttimezone",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "dtend",
"columnName": "dtend",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "dtendTimezone",
"columnName": "dtendtimezone",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "status",
"columnName": "status",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "classification",
"columnName": "classification",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "url",
"columnName": "url",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "contact",
"columnName": "contact",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "geoLat",
"columnName": "geolat",
"affinity": "REAL",
"notNull": false
},
{
"fieldPath": "geoLong",
"columnName": "geolong",
"affinity": "REAL",
"notNull": false
},
{
"fieldPath": "location",
"columnName": "location",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "locationAltrep",
"columnName": "locationaltrep",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "percent",
"columnName": "percent",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "priority",
"columnName": "priority",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "due",
"columnName": "due",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "dueTimezone",
"columnName": "duetimezone",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "completed",
"columnName": "completed",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "completedTimezone",
"columnName": "completedtimezone",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "duration",
"columnName": "duration",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "uid",
"columnName": "uid",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "created",
"columnName": "created",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "dtstamp",
"columnName": "dtstamp",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "lastModified",
"columnName": "lastmodified",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "sequence",
"columnName": "sequence",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "rrule",
"columnName": "rrule",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "exdate",
"columnName": "exdate",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "rdate",
"columnName": "rdate",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "recurid",
"columnName": "recurid",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "recurOriginalIcalObjectId",
"columnName": "recur_original_icalobjectid",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "isRecurLinkedInstance",
"columnName": "recur_islinkedinstance",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "rstatus",
"columnName": "rstatus",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "color",
"columnName": "color",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "collectionId",
"columnName": "collectionId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "dirty",
"columnName": "dirty",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "deleted",
"columnName": "deleted",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "fileName",
"columnName": "filename",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "eTag",
"columnName": "etag",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "scheduleTag",
"columnName": "scheduletag",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "flags",
"columnName": "flags",
"affinity": "INTEGER",
"notNull": false
}
],
"primaryKey": {
"columnNames": [
"_id"
],
"autoGenerate": true
},
"indices": [
{
"name": "index_icalobject__id_summary_description",
"unique": false,
"columnNames": [
"_id",
"summary",
"description"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_icalobject__id_summary_description` ON `${TABLE_NAME}` (`_id`, `summary`, `description`)"
},
{
"name": "index_icalobject__id",
"unique": false,
"columnNames": [
"_id"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_icalobject__id` ON `${TABLE_NAME}` (`_id`)"
},
{
"name": "index_icalobject_collectionId",
"unique": false,
"columnNames": [
"collectionId"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_icalobject_collectionId` ON `${TABLE_NAME}` (`collectionId`)"
}
],
"foreignKeys": [
{
"table": "collection",
"onDelete": "CASCADE",
"onUpdate": "NO ACTION",
"columns": [
"collectionId"
],
"referencedColumns": [
"_id"
]
}
]
},
{
"tableName": "organizer",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `icalObjectId` INTEGER NOT NULL, `caladdress` TEXT NOT NULL, `cnparam` TEXT, `dirparam` TEXT, `sentbyparam` TEXT, `language` TEXT, `other` TEXT, FOREIGN KEY(`icalObjectId`) REFERENCES `icalobject`(`_id`) ON UPDATE NO ACTION ON DELETE CASCADE )",
"fields": [
{
"fieldPath": "organizerId",
"columnName": "_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "icalObjectId",
"columnName": "icalObjectId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "caladdress",
"columnName": "caladdress",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "cn",
"columnName": "cnparam",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "dir",
"columnName": "dirparam",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "sentby",
"columnName": "sentbyparam",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "language",
"columnName": "language",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "other",
"columnName": "other",
"affinity": "TEXT",
"notNull": false
}
],
"primaryKey": {
"columnNames": [
"_id"
],
"autoGenerate": true
},
"indices": [
{
"name": "index_organizer__id",
"unique": false,
"columnNames": [
"_id"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_organizer__id` ON `${TABLE_NAME}` (`_id`)"
},
{
"name": "index_organizer_icalObjectId",
"unique": false,
"columnNames": [
"icalObjectId"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_organizer_icalObjectId` ON `${TABLE_NAME}` (`icalObjectId`)"
}
],
"foreignKeys": [
{
"table": "icalobject",
"onDelete": "CASCADE",
"onUpdate": "NO ACTION",
"columns": [
"icalObjectId"
],
"referencedColumns": [
"_id"
]
}
]
},
{
"tableName": "relatedto",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `icalObjectId` INTEGER NOT NULL, `linkedICalObjectId` INTEGER, `text` TEXT, `reltype` TEXT, `other` TEXT, FOREIGN KEY(`icalObjectId`) REFERENCES `icalobject`(`_id`) ON UPDATE NO ACTION ON DELETE CASCADE )",
"fields": [
{
"fieldPath": "relatedtoId",
"columnName": "_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "icalObjectId",
"columnName": "icalObjectId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "linkedICalObjectId",
"columnName": "linkedICalObjectId",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "text",
"columnName": "text",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "reltype",
"columnName": "reltype",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "other",
"columnName": "other",
"affinity": "TEXT",
"notNull": false
}
],
"primaryKey": {
"columnNames": [
"_id"
],
"autoGenerate": true
},
"indices": [
{
"name": "index_relatedto_icalObjectId_linkedICalObjectId_reltype_text",
"unique": true,
"columnNames": [
"icalObjectId",
"linkedICalObjectId",
"reltype",
"text"
],
"orders": [],
"createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_relatedto_icalObjectId_linkedICalObjectId_reltype_text` ON `${TABLE_NAME}` (`icalObjectId`, `linkedICalObjectId`, `reltype`, `text`)"
},
{
"name": "index_relatedto__id",
"unique": false,
"columnNames": [
"_id"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_relatedto__id` ON `${TABLE_NAME}` (`_id`)"
},
{
"name": "index_relatedto_icalObjectId",
"unique": false,
"columnNames": [
"icalObjectId"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_relatedto_icalObjectId` ON `${TABLE_NAME}` (`icalObjectId`)"
},
{
"name": "index_relatedto_linkedICalObjectId",
"unique": false,
"columnNames": [
"linkedICalObjectId"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_relatedto_linkedICalObjectId` ON `${TABLE_NAME}` (`linkedICalObjectId`)"
}
],
"foreignKeys": [
{
"table": "icalobject",
"onDelete": "CASCADE",
"onUpdate": "NO ACTION",
"columns": [
"icalObjectId"
],
"referencedColumns": [
"_id"
]
}
]
},
{
"tableName": "resource",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `icalObjectId` INTEGER NOT NULL, `text` TEXT, `altrep` TEXT, `language` TEXT, `other` TEXT, FOREIGN KEY(`icalObjectId`) REFERENCES `icalobject`(`_id`) ON UPDATE NO ACTION ON DELETE CASCADE )",
"fields": [
{
"fieldPath": "resourceId",
"columnName": "_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "icalObjectId",
"columnName": "icalObjectId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "text",
"columnName": "text",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "altrep",
"columnName": "altrep",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "language",
"columnName": "language",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "other",
"columnName": "other",
"affinity": "TEXT",
"notNull": false
}
],
"primaryKey": {
"columnNames": [
"_id"
],
"autoGenerate": true
},
"indices": [
{
"name": "index_resource__id",
"unique": false,
"columnNames": [
"_id"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_resource__id` ON `${TABLE_NAME}` (`_id`)"
},
{
"name": "index_resource_icalObjectId",
"unique": false,
"columnNames": [
"icalObjectId"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_resource_icalObjectId` ON `${TABLE_NAME}` (`icalObjectId`)"
}
],
"foreignKeys": [
{
"table": "icalobject",
"onDelete": "CASCADE",
"onUpdate": "NO ACTION",
"columns": [
"icalObjectId"
],
"referencedColumns": [
"_id"
]
}
]
},
{
"tableName": "alarm",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `icalObjectId` INTEGER NOT NULL, `action` TEXT, `description` TEXT, `summary` TEXT, `attendee` TEXT, `duration` TEXT, `repeat` TEXT, `attach` TEXT, `other` TEXT, `triggerTime` INTEGER, `triggerTimezone` TEXT, `triggerRelativeTo` TEXT, `triggerRelativeDuration` TEXT, FOREIGN KEY(`icalObjectId`) REFERENCES `icalobject`(`_id`) ON UPDATE NO ACTION ON DELETE CASCADE )",
"fields": [
{
"fieldPath": "alarmId",
"columnName": "_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "icalObjectId",
"columnName": "icalObjectId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "action",
"columnName": "action",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "description",
"columnName": "description",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "summary",
"columnName": "summary",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "attendee",
"columnName": "attendee",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "duration",
"columnName": "duration",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "repeat",
"columnName": "repeat",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "attach",
"columnName": "attach",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "other",
"columnName": "other",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "triggerTime",
"columnName": "triggerTime",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "triggerTimezone",
"columnName": "triggerTimezone",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "triggerRelativeTo",
"columnName": "triggerRelativeTo",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "triggerRelativeDuration",
"columnName": "triggerRelativeDuration",
"affinity": "TEXT",
"notNull": false
}
],
"primaryKey": {
"columnNames": [
"_id"
],
"autoGenerate": true
},
"indices": [
{
"name": "index_alarm__id",
"unique": false,
"columnNames": [
"_id"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_alarm__id` ON `${TABLE_NAME}` (`_id`)"
},
{
"name": "index_alarm_icalObjectId",
"unique": false,
"columnNames": [
"icalObjectId"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_alarm_icalObjectId` ON `${TABLE_NAME}` (`icalObjectId`)"
}
],
"foreignKeys": [
{
"table": "icalobject",
"onDelete": "CASCADE",
"onUpdate": "NO ACTION",
"columns": [
"icalObjectId"
],
"referencedColumns": [
"_id"
]
}
]
},
{
"tableName": "unknown",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `icalObjectId` INTEGER NOT NULL, `value` TEXT, FOREIGN KEY(`icalObjectId`) REFERENCES `icalobject`(`_id`) ON UPDATE NO ACTION ON DELETE CASCADE )",
"fields": [
{
"fieldPath": "unknownId",
"columnName": "_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "icalObjectId",
"columnName": "icalObjectId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "value",
"columnName": "value",
"affinity": "TEXT",
"notNull": false
}
],
"primaryKey": {
"columnNames": [
"_id"
],
"autoGenerate": true
},
"indices": [
{
"name": "index_unknown__id",
"unique": false,
"columnNames": [
"_id"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_unknown__id` ON `${TABLE_NAME}` (`_id`)"
},
{
"name": "index_unknown_icalObjectId",
"unique": false,
"columnNames": [
"icalObjectId"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_unknown_icalObjectId` ON `${TABLE_NAME}` (`icalObjectId`)"
}
],
"foreignKeys": [
{
"table": "icalobject",
"onDelete": "CASCADE",
"onUpdate": "NO ACTION",
"columns": [
"icalObjectId"
],
"referencedColumns": [
"_id"
]
}
]
},
{
"tableName": "attachment",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `icalObjectId` INTEGER NOT NULL, `uri` TEXT, `binary` TEXT, `fmttype` TEXT, `other` TEXT, `filename` TEXT, `extension` TEXT, `filesize` INTEGER, FOREIGN KEY(`icalObjectId`) REFERENCES `icalobject`(`_id`) ON UPDATE NO ACTION ON DELETE CASCADE )",
"fields": [
{
"fieldPath": "attachmentId",
"columnName": "_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "icalObjectId",
"columnName": "icalObjectId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "uri",
"columnName": "uri",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "binary",
"columnName": "binary",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "fmttype",
"columnName": "fmttype",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "other",
"columnName": "other",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "filename",
"columnName": "filename",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "extension",
"columnName": "extension",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "filesize",
"columnName": "filesize",
"affinity": "INTEGER",
"notNull": false
}
],
"primaryKey": {
"columnNames": [
"_id"
],
"autoGenerate": true
},
"indices": [
{
"name": "index_attachment__id",
"unique": false,
"columnNames": [
"_id"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_attachment__id` ON `${TABLE_NAME}` (`_id`)"
},
{
"name": "index_attachment_icalObjectId",
"unique": false,
"columnNames": [
"icalObjectId"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_attachment_icalObjectId` ON `${TABLE_NAME}` (`icalObjectId`)"
}
],
"foreignKeys": [
{
"table": "icalobject",
"onDelete": "CASCADE",
"onUpdate": "NO ACTION",
"columns": [
"icalObjectId"
],
"referencedColumns": [
"_id"
]
}
]
}
],
"views": [
{
"viewName": "ical4list",
"createSql": "CREATE VIEW `${VIEW_NAME}` AS SELECT DISTINCT main_icalobject._id, main_icalobject.module, main_icalobject.component, main_icalobject.summary, main_icalobject.description, main_icalobject.dtstart, main_icalobject.dtstarttimezone, main_icalobject.dtend, main_icalobject.dtendtimezone, main_icalobject.status, main_icalobject.classification, main_icalobject.percent, main_icalobject.priority, main_icalobject.due, main_icalobject.duetimezone, main_icalobject.completed, main_icalobject.completedtimezone, main_icalobject.duration, main_icalobject.created, main_icalobject.dtstamp, main_icalobject.lastmodified, main_icalobject.sequence, collection.color as colorCollection, main_icalobject.color as colorItem, main_icalobject.collectionId, collection.accountname, collection.displayname, main_icalobject.deleted, CASE WHEN main_icalobject.dirty = 1 AND collection.accounttype != 'LOCAL' THEN 1 else 0 END as uploadPending, CASE WHEN main_icalobject.rrule IS NULL THEN 0 ELSE 1 END as isRecurringOriginal, CASE WHEN main_icalobject.recurid IS NULL THEN 0 ELSE 1 END as isRecurringInstance, main_icalobject.recur_islinkedinstance, CASE WHEN main_icalobject._id IN (SELECT sub_rel.linkedICalObjectId FROM relatedto sub_rel INNER JOIN icalobject sub_ical on sub_rel.icalObjectId = sub_ical._id AND sub_ical.module = 'JOURNAL' AND sub_rel.reltype = 'CHILD') THEN 1 ELSE 0 END as isChildOfJournal, CASE WHEN main_icalobject._id IN (SELECT sub_rel.linkedICalObjectId FROM relatedto sub_rel INNER JOIN icalobject sub_ical on sub_rel.icalObjectId = sub_ical._id AND sub_ical.module = 'NOTE' AND sub_rel.reltype = 'CHILD') THEN 1 ELSE 0 END as isChildOfNote, CASE WHEN main_icalobject._id IN (SELECT sub_rel.linkedICalObjectId FROM relatedto sub_rel INNER JOIN icalobject sub_ical on sub_rel.icalObjectId = sub_ical._id AND sub_ical.module = 'TODO' AND sub_rel.reltype = 'CHILD') THEN 1 ELSE 0 END as isChildOfTodo, (SELECT group_concat(category.text, ', ') FROM category WHERE main_icalobject._id = category.icalObjectId GROUP BY category.icalObjectId) as categories, (SELECT count(*) FROM icalobject sub_icalobject INNER JOIN relatedto sub_relatedto ON sub_icalobject._id = sub_relatedto.linkedICalObjectId AND sub_icalobject.component = 'VTODO' AND sub_relatedto.icalObjectId = main_icalobject._id AND sub_relatedto.reltype = 'CHILD') as numSubtasks, (SELECT count(*) FROM attachment WHERE icalObjectId = main_icalobject._id ) as numAttachments, (SELECT count(*) FROM attendee WHERE icalObjectId = main_icalobject._id ) as numAttendees, (SELECT count(*) FROM comment WHERE icalObjectId = main_icalobject._id ) as numComments, (SELECT count(*) FROM relatedto WHERE icalObjectId = main_icalobject._id ) as numRelatedTodos, (SELECT count(*) FROM resource WHERE icalObjectId = main_icalobject._id ) as numResources FROM icalobject main_icalobject INNER JOIN collection collection ON main_icalobject.collectionId = collection._id WHERE main_icalobject.deleted = 0"
},
{
"viewName": "ical4viewNote",
"createSql": "CREATE VIEW `${VIEW_NAME}` AS SELECT icalobject._id, icalobject.module, icalobject.component, icalobject.summary, icalobject.description, icalobject.created, icalobject.lastmodified, relatedto.icalObjectId, attachment.binary, attachment.fmttype, attachment.uri FROM icalobject INNER JOIN relatedto ON icalobject._id = relatedto.linkedICalObjectId LEFT JOIN attachment ON icalobject._id = attachment.icalObjectId WHERE icalobject.deleted = 0 AND icalobject.module = 'NOTE'"
},
{
"viewName": "collectionsView",
"createSql": "CREATE VIEW `${VIEW_NAME}` AS SELECT _id, url, displayname, description, owner, color, supportsVEVENT, supportsVTODO, supportsVJOURNAL, accountname, accounttype, syncversion, readonly, (SELECT count(*) FROM icalobject WHERE icalobject.collectionId = collection._id AND module = 'JOURNAL' AND deleted = 0) as numJournals, (SELECT count(*) FROM icalobject WHERE icalobject.collectionId = collection._id AND module = 'NOTE' AND deleted = 0) as numNotes, (SELECT count(*) FROM icalobject WHERE icalobject.collectionId = collection._id AND module = 'TODO' AND deleted = 0) as numTodos FROM collection"
}
],
"setupQueries": [
"CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '9dd4a0adfd9468d4a2a0a4505ba9b3a8')"
]
}
}