{
  "formatVersion": 1,
  "database": {
    "version": 97,
    "identityHash": "08a8998e311e4e62a9e9554132b5c011",
    "entities": [
      {
        "tableName": "grades",
        "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`))",
        "fields": [
          {
            "fieldPath": "profileId",
            "columnName": "profileId",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "id",
            "columnName": "gradeId",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "name",
            "columnName": "gradeName",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "type",
            "columnName": "gradeType",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "value",
            "columnName": "gradeValue",
            "affinity": "REAL",
            "notNull": true
          },
          {
            "fieldPath": "weight",
            "columnName": "gradeWeight",
            "affinity": "REAL",
            "notNull": true
          },
          {
            "fieldPath": "color",
            "columnName": "gradeColor",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "category",
            "columnName": "gradeCategory",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "description",
            "columnName": "gradeDescription",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "comment",
            "columnName": "gradeComment",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "semester",
            "columnName": "gradeSemester",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "teacherId",
            "columnName": "teacherId",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "subjectId",
            "columnName": "subjectId",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "addedDate",
            "columnName": "addedDate",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "valueMax",
            "columnName": "gradeValueMax",
            "affinity": "REAL",
            "notNull": false
          },
          {
            "fieldPath": "classAverage",
            "columnName": "gradeClassAverage",
            "affinity": "REAL",
            "notNull": false
          },
          {
            "fieldPath": "parentId",
            "columnName": "gradeParentId",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "isImprovement",
            "columnName": "gradeIsImprovement",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "keep",
            "columnName": "keep",
            "affinity": "INTEGER",
            "notNull": true
          }
        ],
        "primaryKey": {
          "columnNames": [
            "profileId",
            "gradeId"
          ],
          "autoGenerate": false
        },
        "indices": [
          {
            "name": "index_grades_profileId",
            "unique": false,
            "columnNames": [
              "profileId"
            ],
            "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`))",
        "fields": [
          {
            "fieldPath": "profileId",
            "columnName": "profileId",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "id",
            "columnName": "teacherAbsenceId",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "type",
            "columnName": "teacherAbsenceType",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "name",
            "columnName": "teacherAbsenceName",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "dateFrom",
            "columnName": "teacherAbsenceDateFrom",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "dateTo",
            "columnName": "teacherAbsenceDateTo",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "timeFrom",
            "columnName": "teacherAbsenceTimeFrom",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "timeTo",
            "columnName": "teacherAbsenceTimeTo",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "teacherId",
            "columnName": "teacherId",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "addedDate",
            "columnName": "addedDate",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "keep",
            "columnName": "keep",
            "affinity": "INTEGER",
            "notNull": true
          }
        ],
        "primaryKey": {
          "columnNames": [
            "profileId",
            "teacherAbsenceId"
          ],
          "autoGenerate": false
        },
        "indices": [
          {
            "name": "index_teacherAbsence_profileId",
            "unique": false,
            "columnNames": [
              "profileId"
            ],
            "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`))",
        "fields": [
          {
            "fieldPath": "profileId",
            "columnName": "profileId",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "id",
            "columnName": "noticeId",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "type",
            "columnName": "noticeType",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "semester",
            "columnName": "noticeSemester",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "text",
            "columnName": "noticeText",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "category",
            "columnName": "noticeCategory",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "points",
            "columnName": "noticePoints",
            "affinity": "REAL",
            "notNull": false
          },
          {
            "fieldPath": "teacherId",
            "columnName": "teacherId",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "addedDate",
            "columnName": "addedDate",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "keep",
            "columnName": "keep",
            "affinity": "INTEGER",
            "notNull": true
          }
        ],
        "primaryKey": {
          "columnNames": [
            "profileId",
            "noticeId"
          ],
          "autoGenerate": false
        },
        "indices": [
          {
            "name": "index_notices_profileId",
            "unique": false,
            "columnNames": [
              "profileId"
            ],
            "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`))",
        "fields": [
          {
            "fieldPath": "profileId",
            "columnName": "profileId",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "id",
            "columnName": "attendanceId",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "baseType",
            "columnName": "attendanceBaseType",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "typeName",
            "columnName": "attendanceTypeName",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "typeShort",
            "columnName": "attendanceTypeShort",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "typeSymbol",
            "columnName": "attendanceTypeSymbol",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "typeColor",
            "columnName": "attendanceTypeColor",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "date",
            "columnName": "attendanceDate",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "startTime",
            "columnName": "attendanceTime",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "semester",
            "columnName": "attendanceSemester",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "teacherId",
            "columnName": "teacherId",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "subjectId",
            "columnName": "subjectId",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "addedDate",
            "columnName": "addedDate",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "lessonTopic",
            "columnName": "attendanceLessonTopic",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "lessonNumber",
            "columnName": "attendanceLessonNumber",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "isCounted",
            "columnName": "attendanceIsCounted",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "keep",
            "columnName": "keep",
            "affinity": "INTEGER",
            "notNull": true
          }
        ],
        "primaryKey": {
          "columnNames": [
            "profileId",
            "attendanceId"
          ],
          "autoGenerate": false
        },
        "indices": [
          {
            "name": "index_attendances_profileId",
            "unique": false,
            "columnNames": [
              "profileId"
            ],
            "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`))",
        "fields": [
          {
            "fieldPath": "profileId",
            "columnName": "profileId",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "id",
            "columnName": "eventId",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "date",
            "columnName": "eventDate",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "time",
            "columnName": "eventTime",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "topic",
            "columnName": "eventTopic",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "color",
            "columnName": "eventColor",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "type",
            "columnName": "eventType",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "teacherId",
            "columnName": "teacherId",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "subjectId",
            "columnName": "subjectId",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "teamId",
            "columnName": "teamId",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "addedDate",
            "columnName": "addedDate",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "addedManually",
            "columnName": "eventAddedManually",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "sharedBy",
            "columnName": "eventSharedBy",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "sharedByName",
            "columnName": "eventSharedByName",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "blacklisted",
            "columnName": "eventBlacklisted",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "isDone",
            "columnName": "eventIsDone",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "isDownloaded",
            "columnName": "eventIsDownloaded",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "homeworkBody",
            "columnName": "homeworkBody",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "attachmentIds",
            "columnName": "attachmentIds",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "attachmentNames",
            "columnName": "attachmentNames",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "keep",
            "columnName": "keep",
            "affinity": "INTEGER",
            "notNull": true
          }
        ],
        "primaryKey": {
          "columnNames": [
            "profileId",
            "eventId"
          ],
          "autoGenerate": false
        },
        "indices": [
          {
            "name": "index_events_profileId_eventDate_eventTime",
            "unique": false,
            "columnNames": [
              "profileId",
              "eventDate",
              "eventTime"
            ],
            "createSql": "CREATE INDEX IF NOT EXISTS `index_events_profileId_eventDate_eventTime` ON `${TABLE_NAME}` (`profileId`, `eventDate`, `eventTime`)"
          },
          {
            "name": "index_events_profileId_eventType",
            "unique": false,
            "columnNames": [
              "profileId",
              "eventType"
            ],
            "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`))",
        "fields": [
          {
            "fieldPath": "profileId",
            "columnName": "profileId",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "id",
            "columnName": "announcementId",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "subject",
            "columnName": "announcementSubject",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "text",
            "columnName": "announcementText",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "startDate",
            "columnName": "announcementStartDate",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "endDate",
            "columnName": "announcementEndDate",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "teacherId",
            "columnName": "teacherId",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "addedDate",
            "columnName": "addedDate",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "idString",
            "columnName": "announcementIdString",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "keep",
            "columnName": "keep",
            "affinity": "INTEGER",
            "notNull": true
          }
        ],
        "primaryKey": {
          "columnNames": [
            "profileId",
            "announcementId"
          ],
          "autoGenerate": false
        },
        "indices": [
          {
            "name": "index_announcements_profileId",
            "unique": false,
            "columnNames": [
              "profileId"
            ],
            "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`))",
        "fields": [
          {
            "fieldPath": "profileId",
            "columnName": "profileId",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "id",
            "columnName": "messageId",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "type",
            "columnName": "messageType",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "subject",
            "columnName": "messageSubject",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "body",
            "columnName": "messageBody",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "senderId",
            "columnName": "senderId",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "addedDate",
            "columnName": "addedDate",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "isStarred",
            "columnName": "messageIsPinned",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "hasAttachments",
            "columnName": "hasAttachments",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "attachmentIds",
            "columnName": "attachmentIds",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "attachmentNames",
            "columnName": "attachmentNames",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "attachmentSizes",
            "columnName": "attachmentSizes",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "keep",
            "columnName": "keep",
            "affinity": "INTEGER",
            "notNull": true
          }
        ],
        "primaryKey": {
          "columnNames": [
            "profileId",
            "messageId"
          ],
          "autoGenerate": false
        },
        "indices": [
          {
            "name": "index_messages_profileId_messageType",
            "unique": false,
            "columnNames": [
              "profileId",
              "messageType"
            ],
            "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`))",
        "fields": [
          {
            "fieldPath": "profileId",
            "columnName": "profileId",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "id",
            "columnName": "id",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "type",
            "columnName": "type",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "date",
            "columnName": "date",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "lessonNumber",
            "columnName": "lessonNumber",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "startTime",
            "columnName": "startTime",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "endTime",
            "columnName": "endTime",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "subjectId",
            "columnName": "subjectId",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "teacherId",
            "columnName": "teacherId",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "teamId",
            "columnName": "teamId",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "classroom",
            "columnName": "classroom",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "oldDate",
            "columnName": "oldDate",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "oldLessonNumber",
            "columnName": "oldLessonNumber",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "oldStartTime",
            "columnName": "oldStartTime",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "oldEndTime",
            "columnName": "oldEndTime",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "oldSubjectId",
            "columnName": "oldSubjectId",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "oldTeacherId",
            "columnName": "oldTeacherId",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "oldTeamId",
            "columnName": "oldTeamId",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "oldClassroom",
            "columnName": "oldClassroom",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "isExtra",
            "columnName": "isExtra",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "keep",
            "columnName": "keep",
            "affinity": "INTEGER",
            "notNull": true
          }
        ],
        "primaryKey": {
          "columnNames": [
            "profileId",
            "id"
          ],
          "autoGenerate": false
        },
        "indices": [
          {
            "name": "index_timetable_profileId_type_date",
            "unique": false,
            "columnNames": [
              "profileId",
              "type",
              "date"
            ],
            "createSql": "CREATE INDEX IF NOT EXISTS `index_timetable_profileId_type_date` ON `${TABLE_NAME}` (`profileId`, `type`, `date`)"
          },
          {
            "name": "index_timetable_profileId_type_oldDate",
            "unique": false,
            "columnNames": [
              "profileId",
              "type",
              "oldDate"
            ],
            "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`))",
        "fields": [
          {
            "fieldPath": "profileId",
            "columnName": "profileId",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "lessonId",
            "columnName": "lessonId",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "teacherId",
            "columnName": "teacherId",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "subjectId",
            "columnName": "subjectId",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "teamId",
            "columnName": "teamId",
            "affinity": "INTEGER",
            "notNull": false
          }
        ],
        "primaryKey": {
          "columnNames": [
            "profileId",
            "lessonId"
          ],
          "autoGenerate": false
        },
        "indices": [
          {
            "name": "index_librusLessons_profileId",
            "unique": false,
            "columnNames": [
              "profileId"
            ],
            "createSql": "CREATE INDEX IF NOT EXISTS `index_librusLessons_profileId` ON `${TABLE_NAME}` (`profileId`)"
          }
        ],
        "foreignKeys": []
      },
      {
        "tableName": "timetableManual",
        "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `type` INTEGER NOT NULL, `repeatBy` INTEGER NOT NULL, `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `date` INTEGER, `weekDay` INTEGER, `lessonNumber` INTEGER, `startTime` TEXT, `endTime` TEXT, `subjectId` INTEGER, `teacherId` INTEGER, `teamId` INTEGER, `classroom` TEXT)",
        "fields": [
          {
            "fieldPath": "profileId",
            "columnName": "profileId",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "type",
            "columnName": "type",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "repeatBy",
            "columnName": "repeatBy",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "id",
            "columnName": "id",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "date",
            "columnName": "date",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "weekDay",
            "columnName": "weekDay",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "lessonNumber",
            "columnName": "lessonNumber",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "startTime",
            "columnName": "startTime",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "endTime",
            "columnName": "endTime",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "subjectId",
            "columnName": "subjectId",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "teacherId",
            "columnName": "teacherId",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "teamId",
            "columnName": "teamId",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "classroom",
            "columnName": "classroom",
            "affinity": "TEXT",
            "notNull": false
          }
        ],
        "primaryKey": {
          "columnNames": [
            "id"
          ],
          "autoGenerate": true
        },
        "indices": [
          {
            "name": "index_timetableManual_profileId_date",
            "unique": false,
            "columnNames": [
              "profileId",
              "date"
            ],
            "createSql": "CREATE INDEX IF NOT EXISTS `index_timetableManual_profileId_date` ON `${TABLE_NAME}` (`profileId`, `date`)"
          },
          {
            "name": "index_timetableManual_profileId_weekDay",
            "unique": false,
            "columnNames": [
              "profileId",
              "weekDay"
            ],
            "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`))",
        "fields": [
          {
            "fieldPath": "profileId",
            "columnName": "profileId",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "id",
            "columnName": "noteId",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "ownerType",
            "columnName": "noteOwnerType",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "ownerId",
            "columnName": "noteOwnerId",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "replacesOriginal",
            "columnName": "noteReplacesOriginal",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "topic",
            "columnName": "noteTopic",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "body",
            "columnName": "noteBody",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "color",
            "columnName": "noteColor",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "sharedBy",
            "columnName": "noteSharedBy",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "sharedByName",
            "columnName": "noteSharedByName",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "addedDate",
            "columnName": "addedDate",
            "affinity": "INTEGER",
            "notNull": true
          }
        ],
        "primaryKey": {
          "columnNames": [
            "noteId"
          ],
          "autoGenerate": false
        },
        "indices": [
          {
            "name": "index_notes_profileId_noteOwnerType_noteOwnerId",
            "unique": false,
            "columnNames": [
              "profileId",
              "noteOwnerType",
              "noteOwnerId"
            ],
            "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)",
        "fields": [
          {
            "fieldPath": "profileId",
            "columnName": "profileId",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "id",
            "columnName": "metadataId",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "thingType",
            "columnName": "thingType",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "thingId",
            "columnName": "thingId",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "seen",
            "columnName": "seen",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "notified",
            "columnName": "notified",
            "affinity": "INTEGER",
            "notNull": true
          }
        ],
        "primaryKey": {
          "columnNames": [
            "metadataId"
          ],
          "autoGenerate": true
        },
        "indices": [
          {
            "name": "index_metadata_profileId_thingType_thingId",
            "unique": true,
            "columnNames": [
              "profileId",
              "thingType",
              "thingId"
            ],
            "createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_metadata_profileId_thingType_thingId` ON `${TABLE_NAME}` (`profileId`, `thingType`, `thingId`)"
          }
        ],
        "foreignKeys": []
      }
    ],
    "views": [],
    "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, '08a8998e311e4e62a9e9554132b5c011')"
    ]
  }
}