"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `gradeId` INTEGER NOT NULL, `gradeName` TEXT NOT NULL, `gradeType` INTEGER NOT NULL, `gradeValue` REAL NOT NULL, `gradeWeight` REAL NOT NULL, `gradeColor` INTEGER NOT NULL, `gradeCategory` TEXT, `gradeDescription` TEXT, `gradeComment` TEXT, `gradeSemester` INTEGER NOT NULL, `teacherId` INTEGER NOT NULL, `subjectId` INTEGER NOT NULL, `addedDate` INTEGER NOT NULL, `gradeValueMax` REAL, `gradeClassAverage` REAL, `gradeParentId` INTEGER, `gradeIsImprovement` INTEGER NOT NULL, `keep` INTEGER NOT NULL, PRIMARY KEY(`profileId`, `gradeId`))",
"createSql":"CREATE INDEX IF NOT EXISTS `index_grades_profileId` ON `${TABLE_NAME}` (`profileId`)"
}
],
"foreignKeys":[]
},
{
"tableName":"teachers",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `teacherId` INTEGER NOT NULL, `teacherLoginId` TEXT, `teacherName` TEXT, `teacherSurname` TEXT, `teacherType` INTEGER NOT NULL, `teacherTypeDescription` TEXT, `teacherSubjects` TEXT NOT NULL, PRIMARY KEY(`profileId`, `teacherId`))",
"fields":[
{
"fieldPath":"profileId",
"columnName":"profileId",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"id",
"columnName":"teacherId",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"loginId",
"columnName":"teacherLoginId",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"name",
"columnName":"teacherName",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"surname",
"columnName":"teacherSurname",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"type",
"columnName":"teacherType",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"typeDescription",
"columnName":"teacherTypeDescription",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"subjects",
"columnName":"teacherSubjects",
"affinity":"TEXT",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"profileId",
"teacherId"
],
"autoGenerate":false
},
"indices":[],
"foreignKeys":[]
},
{
"tableName":"teacherAbsence",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `teacherAbsenceId` INTEGER NOT NULL, `teacherAbsenceType` INTEGER NOT NULL, `teacherAbsenceName` TEXT, `teacherAbsenceDateFrom` TEXT NOT NULL, `teacherAbsenceDateTo` TEXT NOT NULL, `teacherAbsenceTimeFrom` TEXT, `teacherAbsenceTimeTo` TEXT, `teacherId` INTEGER NOT NULL, `addedDate` INTEGER NOT NULL, `keep` INTEGER NOT NULL, PRIMARY KEY(`profileId`, `teacherAbsenceId`))",
"createSql":"CREATE INDEX IF NOT EXISTS `index_teacherAbsence_profileId` ON `${TABLE_NAME}` (`profileId`)"
}
],
"foreignKeys":[]
},
{
"tableName":"teacherAbsenceTypes",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `teacherAbsenceTypeId` INTEGER NOT NULL, `teacherAbsenceTypeName` TEXT NOT NULL, PRIMARY KEY(`profileId`, `teacherAbsenceTypeId`))",
"fields":[
{
"fieldPath":"profileId",
"columnName":"profileId",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"id",
"columnName":"teacherAbsenceTypeId",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"name",
"columnName":"teacherAbsenceTypeName",
"affinity":"TEXT",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"profileId",
"teacherAbsenceTypeId"
],
"autoGenerate":false
},
"indices":[],
"foreignKeys":[]
},
{
"tableName":"subjects",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `subjectId` INTEGER NOT NULL, `subjectLongName` TEXT, `subjectShortName` TEXT, `subjectColor` INTEGER NOT NULL, PRIMARY KEY(`profileId`, `subjectId`))",
"fields":[
{
"fieldPath":"profileId",
"columnName":"profileId",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"id",
"columnName":"subjectId",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"longName",
"columnName":"subjectLongName",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"shortName",
"columnName":"subjectShortName",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"color",
"columnName":"subjectColor",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"profileId",
"subjectId"
],
"autoGenerate":false
},
"indices":[],
"foreignKeys":[]
},
{
"tableName":"notices",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `noticeId` INTEGER NOT NULL, `noticeType` INTEGER NOT NULL, `noticeSemester` INTEGER NOT NULL, `noticeText` TEXT NOT NULL, `noticeCategory` TEXT, `noticePoints` REAL, `teacherId` INTEGER NOT NULL, `addedDate` INTEGER NOT NULL, `keep` INTEGER NOT NULL, PRIMARY KEY(`profileId`, `noticeId`))",
"createSql":"CREATE INDEX IF NOT EXISTS `index_notices_profileId` ON `${TABLE_NAME}` (`profileId`)"
}
],
"foreignKeys":[]
},
{
"tableName":"teams",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `teamId` INTEGER NOT NULL, `teamType` INTEGER NOT NULL, `teamName` TEXT, `teamCode` TEXT, `teamTeacherId` INTEGER NOT NULL, PRIMARY KEY(`profileId`, `teamId`))",
"fields":[
{
"fieldPath":"profileId",
"columnName":"profileId",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"id",
"columnName":"teamId",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"type",
"columnName":"teamType",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"name",
"columnName":"teamName",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"code",
"columnName":"teamCode",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"teacherId",
"columnName":"teamTeacherId",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"profileId",
"teamId"
],
"autoGenerate":false
},
"indices":[],
"foreignKeys":[]
},
{
"tableName":"attendances",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `attendanceId` INTEGER NOT NULL, `attendanceBaseType` INTEGER NOT NULL, `attendanceTypeName` TEXT NOT NULL, `attendanceTypeShort` TEXT NOT NULL, `attendanceTypeSymbol` TEXT NOT NULL, `attendanceTypeColor` INTEGER, `attendanceDate` TEXT NOT NULL, `attendanceTime` TEXT, `attendanceSemester` INTEGER NOT NULL, `teacherId` INTEGER NOT NULL, `subjectId` INTEGER NOT NULL, `addedDate` INTEGER NOT NULL, `attendanceLessonTopic` TEXT, `attendanceLessonNumber` INTEGER, `attendanceIsCounted` INTEGER NOT NULL, `keep` INTEGER NOT NULL, PRIMARY KEY(`profileId`, `attendanceId`))",
"createSql":"CREATE INDEX IF NOT EXISTS `index_attendances_profileId` ON `${TABLE_NAME}` (`profileId`)"
}
],
"foreignKeys":[]
},
{
"tableName":"events",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `eventId` INTEGER NOT NULL, `eventDate` TEXT NOT NULL, `eventTime` TEXT, `eventTopic` TEXT NOT NULL, `eventColor` INTEGER, `eventType` INTEGER NOT NULL, `teacherId` INTEGER NOT NULL, `subjectId` INTEGER NOT NULL, `teamId` INTEGER NOT NULL, `addedDate` INTEGER NOT NULL, `eventAddedManually` INTEGER NOT NULL, `eventSharedBy` TEXT, `eventSharedByName` TEXT, `eventBlacklisted` INTEGER NOT NULL, `eventIsDone` INTEGER NOT NULL, `eventIsDownloaded` INTEGER NOT NULL, `homeworkBody` TEXT, `attachmentIds` TEXT, `attachmentNames` TEXT, `keep` INTEGER NOT NULL, PRIMARY KEY(`profileId`, `eventId`))",
"createSql":"CREATE INDEX IF NOT EXISTS `index_events_profileId_eventType` ON `${TABLE_NAME}` (`profileId`, `eventType`)"
}
],
"foreignKeys":[]
},
{
"tableName":"eventTypes",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `eventType` INTEGER NOT NULL, `eventTypeName` TEXT NOT NULL, `eventTypeColor` INTEGER NOT NULL, `eventTypeOrder` INTEGER NOT NULL, `eventTypeSource` INTEGER NOT NULL, PRIMARY KEY(`profileId`, `eventType`))",
"fields":[
{
"fieldPath":"profileId",
"columnName":"profileId",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"id",
"columnName":"eventType",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"name",
"columnName":"eventTypeName",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"color",
"columnName":"eventTypeColor",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"order",
"columnName":"eventTypeOrder",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"source",
"columnName":"eventTypeSource",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"profileId",
"eventType"
],
"autoGenerate":false
},
"indices":[],
"foreignKeys":[]
},
{
"tableName":"loginStores",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`loginStoreId` INTEGER NOT NULL, `loginStoreType` INTEGER NOT NULL, `loginStoreMode` INTEGER NOT NULL, `loginStoreData` TEXT NOT NULL, PRIMARY KEY(`loginStoreId`))",
"fields":[
{
"fieldPath":"id",
"columnName":"loginStoreId",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"type",
"columnName":"loginStoreType",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"mode",
"columnName":"loginStoreMode",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"data",
"columnName":"loginStoreData",
"affinity":"TEXT",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"loginStoreId"
],
"autoGenerate":false
},
"indices":[],
"foreignKeys":[]
},
{
"tableName":"profiles",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `loginStoreId` INTEGER NOT NULL, `loginStoreType` INTEGER NOT NULL, `name` TEXT NOT NULL, `subname` TEXT, `studentNameLong` TEXT NOT NULL, `studentNameShort` TEXT NOT NULL, `accountName` TEXT, `studentData` TEXT NOT NULL, `image` TEXT, `empty` INTEGER NOT NULL, `archived` INTEGER NOT NULL, `archiveId` INTEGER, `syncEnabled` INTEGER NOT NULL, `enableSharedEvents` INTEGER NOT NULL, `registration` INTEGER NOT NULL, `userCode` TEXT NOT NULL, `studentNumber` INTEGER NOT NULL, `studentClassName` TEXT, `studentSchoolYearStart` INTEGER NOT NULL, `dateSemester1Start` TEXT NOT NULL, `dateSemester2Start` TEXT NOT NULL, `dateYearEnd` TEXT NOT NULL, `disabledNotifications` TEXT, `lastReceiversSync` INTEGER NOT NULL, PRIMARY KEY(`profileId`))",
"fields":[
{
"fieldPath":"id",
"columnName":"profileId",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"loginStoreId",
"columnName":"loginStoreId",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"loginStoreType",
"columnName":"loginStoreType",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"name",
"columnName":"name",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"subname",
"columnName":"subname",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"studentNameLong",
"columnName":"studentNameLong",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"studentNameShort",
"columnName":"studentNameShort",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"accountName",
"columnName":"accountName",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"studentData",
"columnName":"studentData",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"image",
"columnName":"image",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"empty",
"columnName":"empty",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"archived",
"columnName":"archived",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"archiveId",
"columnName":"archiveId",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"syncEnabled",
"columnName":"syncEnabled",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"enableSharedEvents",
"columnName":"enableSharedEvents",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"registration",
"columnName":"registration",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"userCode",
"columnName":"userCode",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"studentNumber",
"columnName":"studentNumber",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"studentClassName",
"columnName":"studentClassName",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"studentSchoolYearStart",
"columnName":"studentSchoolYearStart",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"dateSemester1Start",
"columnName":"dateSemester1Start",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"dateSemester2Start",
"columnName":"dateSemester2Start",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"dateYearEnd",
"columnName":"dateYearEnd",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"disabledNotifications",
"columnName":"disabledNotifications",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"lastReceiversSync",
"columnName":"lastReceiversSync",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"profileId"
],
"autoGenerate":false
},
"indices":[],
"foreignKeys":[]
},
{
"tableName":"luckyNumbers",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `luckyNumberDate` INTEGER NOT NULL, `luckyNumber` INTEGER NOT NULL, `keep` INTEGER NOT NULL, PRIMARY KEY(`profileId`, `luckyNumberDate`))",
"fields":[
{
"fieldPath":"profileId",
"columnName":"profileId",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"date",
"columnName":"luckyNumberDate",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"number",
"columnName":"luckyNumber",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"keep",
"columnName":"keep",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"profileId",
"luckyNumberDate"
],
"autoGenerate":false
},
"indices":[],
"foreignKeys":[]
},
{
"tableName":"announcements",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `announcementId` INTEGER NOT NULL, `announcementSubject` TEXT NOT NULL, `announcementText` TEXT, `announcementStartDate` TEXT, `announcementEndDate` TEXT, `teacherId` INTEGER NOT NULL, `addedDate` INTEGER NOT NULL, `announcementIdString` TEXT, `keep` INTEGER NOT NULL, PRIMARY KEY(`profileId`, `announcementId`))",
"createSql":"CREATE INDEX IF NOT EXISTS `index_announcements_profileId` ON `${TABLE_NAME}` (`profileId`)"
}
],
"foreignKeys":[]
},
{
"tableName":"gradeCategories",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `categoryId` INTEGER NOT NULL, `weight` REAL NOT NULL, `color` INTEGER NOT NULL, `text` TEXT, `columns` TEXT, `valueFrom` REAL NOT NULL, `valueTo` REAL NOT NULL, `type` INTEGER NOT NULL, PRIMARY KEY(`profileId`, `categoryId`, `type`))",
"fields":[
{
"fieldPath":"profileId",
"columnName":"profileId",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"categoryId",
"columnName":"categoryId",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"weight",
"columnName":"weight",
"affinity":"REAL",
"notNull":true
},
{
"fieldPath":"color",
"columnName":"color",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"text",
"columnName":"text",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"columns",
"columnName":"columns",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"valueFrom",
"columnName":"valueFrom",
"affinity":"REAL",
"notNull":true
},
{
"fieldPath":"valueTo",
"columnName":"valueTo",
"affinity":"REAL",
"notNull":true
},
{
"fieldPath":"type",
"columnName":"type",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"profileId",
"categoryId",
"type"
],
"autoGenerate":false
},
"indices":[],
"foreignKeys":[]
},
{
"tableName":"feedbackMessages",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`messageId` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `received` INTEGER NOT NULL, `text` TEXT NOT NULL, `senderName` TEXT NOT NULL, `deviceId` TEXT, `deviceName` TEXT, `devId` INTEGER, `devImage` TEXT, `sentTime` INTEGER NOT NULL)",
"fields":[
{
"fieldPath":"messageId",
"columnName":"messageId",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"received",
"columnName":"received",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"text",
"columnName":"text",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"senderName",
"columnName":"senderName",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"deviceId",
"columnName":"deviceId",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"deviceName",
"columnName":"deviceName",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"devId",
"columnName":"devId",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"devImage",
"columnName":"devImage",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"sentTime",
"columnName":"sentTime",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"messageId"
],
"autoGenerate":true
},
"indices":[],
"foreignKeys":[]
},
{
"tableName":"messages",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `messageId` INTEGER NOT NULL, `messageType` INTEGER NOT NULL, `messageSubject` TEXT NOT NULL, `messageBody` TEXT, `senderId` INTEGER, `addedDate` INTEGER NOT NULL, `messageIsPinned` INTEGER NOT NULL, `hasAttachments` INTEGER NOT NULL, `attachmentIds` TEXT, `attachmentNames` TEXT, `attachmentSizes` TEXT, `keep` INTEGER NOT NULL, PRIMARY KEY(`profileId`, `messageId`))",
"createSql":"CREATE INDEX IF NOT EXISTS `index_messages_profileId_messageType` ON `${TABLE_NAME}` (`profileId`, `messageType`)"
}
],
"foreignKeys":[]
},
{
"tableName":"messageRecipients",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `messageRecipientId` INTEGER NOT NULL, `messageRecipientReplyId` INTEGER NOT NULL, `messageRecipientReadDate` INTEGER NOT NULL, `messageId` INTEGER NOT NULL, PRIMARY KEY(`profileId`, `messageRecipientId`, `messageId`))",
"fields":[
{
"fieldPath":"profileId",
"columnName":"profileId",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"id",
"columnName":"messageRecipientId",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"replyId",
"columnName":"messageRecipientReplyId",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"readDate",
"columnName":"messageRecipientReadDate",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"messageId",
"columnName":"messageId",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"profileId",
"messageRecipientId",
"messageId"
],
"autoGenerate":false
},
"indices":[],
"foreignKeys":[]
},
{
"tableName":"debugLogs",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `text` TEXT)",
"fields":[
{
"fieldPath":"id",
"columnName":"id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"text",
"columnName":"text",
"affinity":"TEXT",
"notNull":false
}
],
"primaryKey":{
"columnNames":[
"id"
],
"autoGenerate":true
},
"indices":[],
"foreignKeys":[]
},
{
"tableName":"endpointTimers",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `endpointId` INTEGER NOT NULL, `endpointLastSync` INTEGER, `endpointNextSync` INTEGER NOT NULL, `endpointViewId` INTEGER, PRIMARY KEY(`profileId`, `endpointId`))",
"fields":[
{
"fieldPath":"profileId",
"columnName":"profileId",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"endpointId",
"columnName":"endpointId",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"lastSync",
"columnName":"endpointLastSync",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"nextSync",
"columnName":"endpointNextSync",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"viewId",
"columnName":"endpointViewId",
"affinity":"INTEGER",
"notNull":false
}
],
"primaryKey":{
"columnNames":[
"profileId",
"endpointId"
],
"autoGenerate":false
},
"indices":[],
"foreignKeys":[]
},
{
"tableName":"lessonRanges",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `lessonRangeNumber` INTEGER NOT NULL, `lessonRangeStart` TEXT NOT NULL, `lessonRangeEnd` TEXT NOT NULL, PRIMARY KEY(`profileId`, `lessonRangeNumber`))",
"fields":[
{
"fieldPath":"profileId",
"columnName":"profileId",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"lessonNumber",
"columnName":"lessonRangeNumber",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"startTime",
"columnName":"lessonRangeStart",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"endTime",
"columnName":"lessonRangeEnd",
"affinity":"TEXT",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"profileId",
"lessonRangeNumber"
],
"autoGenerate":false
},
"indices":[],
"foreignKeys":[]
},
{
"tableName":"notifications",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `title` TEXT NOT NULL, `text` TEXT NOT NULL, `textLong` TEXT, `type` INTEGER NOT NULL, `profileId` INTEGER, `profileName` TEXT, `posted` INTEGER NOT NULL, `viewId` INTEGER, `extras` TEXT, `addedDate` INTEGER NOT NULL)",
"fields":[
{
"fieldPath":"id",
"columnName":"id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"title",
"columnName":"title",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"text",
"columnName":"text",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"textLong",
"columnName":"textLong",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"type",
"columnName":"type",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"profileId",
"columnName":"profileId",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"profileName",
"columnName":"profileName",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"posted",
"columnName":"posted",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"viewId",
"columnName":"viewId",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"extras",
"columnName":"extras",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"addedDate",
"columnName":"addedDate",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"id"
],
"autoGenerate":true
},
"indices":[],
"foreignKeys":[]
},
{
"tableName":"classrooms",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `id` INTEGER NOT NULL, `name` TEXT NOT NULL, PRIMARY KEY(`profileId`, `id`))",
"fields":[
{
"fieldPath":"profileId",
"columnName":"profileId",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"id",
"columnName":"id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"name",
"columnName":"name",
"affinity":"TEXT",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"profileId",
"id"
],
"autoGenerate":false
},
"indices":[],
"foreignKeys":[]
},
{
"tableName":"noticeTypes",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `id` INTEGER NOT NULL, `name` TEXT NOT NULL, PRIMARY KEY(`profileId`, `id`))",
"fields":[
{
"fieldPath":"profileId",
"columnName":"profileId",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"id",
"columnName":"id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"name",
"columnName":"name",
"affinity":"TEXT",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"profileId",
"id"
],
"autoGenerate":false
},
"indices":[],
"foreignKeys":[]
},
{
"tableName":"attendanceTypes",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `id` INTEGER NOT NULL, `baseType` INTEGER NOT NULL, `typeName` TEXT NOT NULL, `typeShort` TEXT NOT NULL, `typeSymbol` TEXT NOT NULL, `typeColor` INTEGER, PRIMARY KEY(`profileId`, `id`))",
"fields":[
{
"fieldPath":"profileId",
"columnName":"profileId",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"id",
"columnName":"id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"baseType",
"columnName":"baseType",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"typeName",
"columnName":"typeName",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"typeShort",
"columnName":"typeShort",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"typeSymbol",
"columnName":"typeSymbol",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"typeColor",
"columnName":"typeColor",
"affinity":"INTEGER",
"notNull":false
}
],
"primaryKey":{
"columnNames":[
"profileId",
"id"
],
"autoGenerate":false
},
"indices":[],
"foreignKeys":[]
},
{
"tableName":"timetable",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `id` INTEGER NOT NULL, `type` INTEGER NOT NULL, `date` TEXT, `lessonNumber` INTEGER, `startTime` TEXT, `endTime` TEXT, `subjectId` INTEGER, `teacherId` INTEGER, `teamId` INTEGER, `classroom` TEXT, `oldDate` TEXT, `oldLessonNumber` INTEGER, `oldStartTime` TEXT, `oldEndTime` TEXT, `oldSubjectId` INTEGER, `oldTeacherId` INTEGER, `oldTeamId` INTEGER, `oldClassroom` TEXT, `isExtra` INTEGER NOT NULL, `keep` INTEGER NOT NULL, PRIMARY KEY(`profileId`, `id`))",
"createSql":"CREATE INDEX IF NOT EXISTS `index_timetable_profileId_type_oldDate` ON `${TABLE_NAME}` (`profileId`, `type`, `oldDate`)"
}
],
"foreignKeys":[]
},
{
"tableName":"config",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `key` TEXT NOT NULL, `value` TEXT, PRIMARY KEY(`profileId`, `key`))",
"fields":[
{
"fieldPath":"profileId",
"columnName":"profileId",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"key",
"columnName":"key",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"value",
"columnName":"value",
"affinity":"TEXT",
"notNull":false
}
],
"primaryKey":{
"columnNames":[
"profileId",
"key"
],
"autoGenerate":false
},
"indices":[],
"foreignKeys":[]
},
{
"tableName":"librusLessons",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `lessonId` INTEGER NOT NULL, `teacherId` INTEGER NOT NULL, `subjectId` INTEGER NOT NULL, `teamId` INTEGER, PRIMARY KEY(`profileId`, `lessonId`))",
"createSql":"CREATE INDEX IF NOT EXISTS `index_timetableManual_profileId_weekDay` ON `${TABLE_NAME}` (`profileId`, `weekDay`)"
}
],
"foreignKeys":[]
},
{
"tableName":"notes",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `noteId` INTEGER NOT NULL, `noteOwnerType` TEXT, `noteOwnerId` INTEGER, `noteReplacesOriginal` INTEGER NOT NULL, `noteTopic` TEXT, `noteBody` TEXT NOT NULL, `noteColor` INTEGER, `noteSharedBy` TEXT, `noteSharedByName` TEXT, `addedDate` INTEGER NOT NULL, PRIMARY KEY(`noteId`))",
"createSql":"CREATE INDEX IF NOT EXISTS `index_notes_profileId_noteOwnerType_noteOwnerId` ON `${TABLE_NAME}` (`profileId`, `noteOwnerType`, `noteOwnerId`)"
}
],
"foreignKeys":[]
},
{
"tableName":"metadata",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `metadataId` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `thingType` INTEGER NOT NULL, `thingId` INTEGER NOT NULL, `seen` INTEGER NOT NULL, `notified` INTEGER NOT NULL)",